Scraping fantasy sports data

ABSTRACT

Techniques for “scraping” and/or obtaining fantasy sports data include accessing a fantasy sports server. The access may include accessing publicly available data, accessing data for which a user&#39;s username and/or password are required, and/or accessing data by operation of an applications programming interface provided by the server(s) or by a file transfer protocol (FTP) provided by the server(s), etc. Upon gaining access, fantasy sports information may be obtained for a plurality of users. The fantasy sports information may include fantasy team roster information, fantasy team game schedule, etc. The fantasy sports information may be used to create a profile of each of a plurality of fantasy sports users. The database may be used with an interleaver or other service to determine which of a plurality of video clips of athletes should be sent to each of a plurality of users.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/846,886, filed on Sep. 7, 2015 (now U.S. Pat. No. 9,440,152), whichis a continuation-in-part of U.S. patent application Ser. No.14/550,906, filed on Nov. 21, 2014 (now U.S. Pat. No. 9,138,652), whichis a continuation-in-part of U.S. patent application Ser. No.14/285,607, filed May 22, 2014 (now U.S. Pat. No. 9,056,253), whichclaims the benefit of priority to U.S. Provisional Patent ApplicationNo. 61/862,089, filed on Aug. 5, 2013, and to U.S. Provisional PatentApplication No. 61/826,485, filed on May 22, 2013, all of which areincorporated herein by reference.

BACKGROUND

Fantasy sports have become increasingly popular. This is particularlytrue of fantasy football (based on the National Football League (NFL)),but is also true of other sports. When creating fantasy teams,participants today typically go to a fantasy sports website orapplication, create an account, and then specify a league that they wishto join, frequently organized by their friends. Depending on the sport,there may be an opportunity for participants to select or draft athletesat the beginning of a fantasy season. Thereafter, participants mayselect the athletes from their roster that they want to play on a givenday/week, while benching other athletes. As actual games are beingplayed in different cities and times across the country or world,fantasy sports participants watch their scores fluctuate relative to anopponent as their athletes do well or poorly in their actual games.Fantasy sports participants may also watch one or more of the actualgames, often flipping back and forth between various actual games inwhich the athletes on their fantasy teams are participating. In fantasyfootball, the week may conclude with Monday Night Football, after whichthe winners and losers of that week's play are known.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Thesame numbers are used throughout the drawings to reference like featuresand components. Moreover, the figures are intended to illustrate generalconcepts and examples, and not to indicate required and/or necessaryelements.

FIG. 1 is a schematic diagram of an example of an architecture usable toprovide users with customized streams of content. In the examplearchitecture, an interleaver service receives content from one or morecontent sources, data from one or more data sources, and advertisementsfrom one or more ad sources, and outputs customized content streams toclient devices of each user.

FIG. 2 is a schematic diagram showing an example of how the interleaverservice uses the content, data, and ads to generate custom content foroutput to a client device of a particular user. In this example, theinterleaver service receives content (e.g., video recordings of sportingevents or sports commentary or analysis) from one or more contentsources, data (e.g., fantasy sports data, user data, accountinformation, etc.) from one or more data sources, and advertisements(e.g., internet, television, radio, print ads, etc.) from one or more adsources. The interleaver service outputs customized content streams toone or more client devices of each user based at least in part on thereceived data. For instance, the content stream output for each user maybe customized based on, for example, a fantasy sports account of therespective user.

FIG. 3 is a block diagram showing example detail of the interleaverservice of FIGS. 1 and 2.

FIG. 4 is a schematic flow diagram showing example operations performedby a segmenting module and a tagging module of the interleaver serviceof FIGS. 1 through 3.

FIGS. 5A, 5B and 5C illustrate three example ways in which content maybe segmented.

FIG. 6 is a schematic diagram illustrating an example of how contentincluding video, audio, and metadata may be segmented.

FIG. 7 is a block diagram showing additional details of the exampletagging module of FIG. 3.

FIG. 8 is a schematic diagram illustrating example structure of a taggedcontent segment.

FIG. 9 is a table representing an example subscriber profile.

FIG. 10 is a schematic diagram showing an example user interface of aclient application for presenting audio, video and/or audio-videodisplays to a user.

FIG. 11 is a schematic diagram showing an example user interface of aclient application for presenting fantasy sports scores and otherfantasy sports information.

FIG. 12 is a schematic diagram showing an example user interface of aclient application for designating and managing content from/about whichcustom content, such as a custom content stream from the interleaverservice, is to be provided.

FIG. 13 is a schematic diagram showing an example user interface of aclient application usable to set preferences for various types andsources of content by setting a relative rank of the types and sourcesof content.

FIG. 14 is a schematic diagram showing other examples user interface ofa client application usable to set preferences for various types andsources of content by setting an equalizer to weight the various typesand sources of content.

FIG. 15 is a schematic diagram showing yet other examples user interfaceof a client application usable to set preferences for various types andsources of content by moving a target to weight the various types andsources of content.

FIG. 16 is a flowchart illustrating an example process of providingcustom content, with a focus on a segmenting portion of the process.

FIG. 17 is a flowchart illustrating an example process of providingcustom content, with a focus on a tagging portion of the process.

FIG. 18 is a flowchart illustrating an example process of providingcustom content, with a focus on a subscriber profile portion of theprocess.

FIG. 19 is a flowchart illustrating an example process of providingcustom content, with a focus on an interleaving portion of the process.

FIG. 20 is a flowchart showing a first example method by which anestimate of a score of a fantasy sports game, made before play begins,may be refined during play of the underlying real life games to provideprogressively better estimates of a final fantasy game score and toprovide an indication of which fantasy team is currently predicted towin.

FIG. 21 is a flowchart showing a second example method of fantasy scoreestimation.

FIG. 22 is a flowchart showing a third example method of fantasy scoreestimation.

DETAILED DESCRIPTION Overview

As discussed above, existing fantasy sports outlets (e.g., websitesand/or applications) offer very limited ways in which participants canparticipate in and consume the fantasy sports experience. Thisapplication describes techniques and systems for providing a completefantasy sports experience.

In one aspect, the application describes a content-rich fantasy sportsexperience in which users are able to consume content (e.g., video,audio, images, articles, etc.) associated with the athletes, teams, andleagues associated with their fantasy teams. For instance, a user may bepresented with a stream of video clips or segments associated with theuser's fantasy sports team(s). The stream of video segments may becomposed of segments showing plays or other events that resulted inpoints for the user's fantasy team, points for an opposing fantasy team,points for one or more other participants in the user's fantasy league,or otherwise affected a fantasy score of one or more athletes or teams.The stream of video segments may additionally or alternatively includesegments corresponding to athletes, teams, leagues, sports cheerleaders,or other topics of interest to the user. The topics of interest may havebeen explicitly designated by the user and/or may have been implicitlyinferred based on one or more criteria. In some examples, the videosegments may be augmented by statistics, commentary (e.g., by analystsor other users), images, graphics, articles, or the like that are madeavailable to the user (e.g., via links in the video segments, overlayson the video segments, etc.). In some examples, the stream of videosegments may be continuously updated and served, such that there isalways a content stream available for the user to consume. Theparticular segments and the order of their presentation may be uniquefor each user.

The application also describes various other features that enhance thefunctionality, ease of use, customizability, interactivity, and numerousother aspects of the complete fantasy sports experience. Fantasy sportsusers already have a relatively high level of engagement with theexisting limited fantasy sports offerings, spending a considerableamount of time and energy researching athletes, managing their fantasyteams, and viewing score updates. However, existing fantasy sportsofferings fail to integrate video with user's fantasy sports teams.Rather, existing offerings provide a primarily text based interface forviewing fantasy sports scores and information. The techniques describedherein provide numerous enhancements that, in some examples, providefantasy sports scores along with clips and other rich content tailoredto the user's fantasy sports team(s) and other interests. For instance,in some examples, a user's fantasy sports points may be provided inassociation with one or more clips depicting plays or other events thatresulted in awarding of the fantasy sports points to the user. Moreover,in some examples, the techniques described herein may provide users withcontent customized to them based on things that interest them, such asathletes and other topics related to their fantasy sports teams. Thecustom content may comprise content from multiple different sources, andmay include segments from simultaneously occurring and/or overlappingcontent. As such, techniques described herein may provide users with amore efficient way of viewing content of interest to them. Additionally,the techniques described herein may allow users to watch clips frommultiple different sources and regions via one point of access. Theseenhancements have the potential to greatly increase the enjoyment ofusers and their fantasy sports experience.

Also, while many of the examples are described in the context ofproviding a complete fantasy sports experience, many of the aspectsdescribed herein are not limited to the fantasy sports context and haveother applicability. For example, while the stream of video segments isdescribed as being related in some way to the user's participation infantasy sports, in other examples, the stream of video segments mayadditionally or alternatively include segments that relate to otheractivities with which the user is associated or interested. Forinstance, some or all of the stream of video segments may relate to avideo game that the user plays, a club or organization that the userbelongs to, a movie or television show that the user likes, contacts andsocial acquaintances of the user, etc. As other examples, theapplication describes interleaving of commercials or advertisements intothe fantasy sports content stream. However, the techniques describedherein relating to commercials or advertisements are also applicable toother contexts and are not limited to use with the fantasy sportscontent stream.

These and numerous other examples are described in detail below withreference to the accompanying figures.

Example System and Techniques

FIG. 1 is a schematic diagram of an example architecture configured toprovide users with customized streams of content. The examplearchitecture 100 may be used to generate and serve custom content to oneor more subscribers. In the example architecture 100, content 102 fromone or more content sources 104, data 106 from one or more data sources108, and/or advertisements 110 from one or more ad sources 112 are inputto an interleaver service 114. The interleaver service 114 processes thereceived content 102, data 106, and ads 110, and assembles customizedcontent 116(1), 116(2), . . . 116(N) (collectively “customized content116”) for each of a plurality of subscribers or users. The interleaverservice 114 then causes the customized content 116(1), 116(2), . . .116(N) to be served to client devices 118(1), 118(2), . . . 118(N)(collectively “client devices 118”) associated with the plurality ofsubscribers. In this example, N represents the number of subscribes towhich the interleaver service 114 serves custom content and may be anypositive integer.

In the illustrated example, the interleaver service 114 communicateswith the content sources 104, data sources 108, ad sources 112, andclient devices 118 over one or more wireless or wired networks, or acombination thereof. By way of example and not limitation, the networksmay comprise over-the-air broadcast networks (e.g., broadcast radio andtelevision), cable networks (e.g., cable television and/or internetnetworks), telephone networks (e.g., wired and cellular), satellitenetworks (e.g., satellite television networks), local area networks(e.g., Ethernet, wifi, etc.), fiber optic networks, or any other networkcapable of transmitting the content 102, data 106, ads 110, and/orcustom content 116. The network(s) may be a collection of individualnetworks interconnected with each other and functioning as a singlelarge network (e.g., the Internet or an intranet). Further, theindividual networks may be wireless or wired networks, or a combinationthereof. In some instances (e.g., receipt of certain content feeds) thecommunication may be one-way, while in other instances communicationbetween the interleaver service 114 and the content sources 104, datasources 108, ad sources 112, and/or client devices 118 may be two-way.

In the context of fantasy sports, the content 102 may comprise audioand/or video (“A/V”) feeds of televised sporting events, such asfootball games, baseball games, basketball games, auto races, soccermatches, hockey games, or the like. The content 102 may be live ordelayed, and may be obtained from a plurality of games or other events,which are being played simultaneously. The content 102 may includeactual game play, instant replays, sideline interviews, discussion bycommentators or hosts, and other information. The data 106 may include,fantasy sports information, such as fantasy leagues in which a userparticipates, rosters of athletes on the user's fantasy team, or thelike. The advertisements 110 may comprise advertisements included in thetelevised sporting events by a national or regional broadcaster of thesporting events, advertisements from an ad agency or marketing firm,internet advertisements, or the like. The interleaver service 114receives the content 102, data 106, and advertisements 110 as inputs,processes this information as described in detail below, and outputscustomized content 116 as clips or streams of clips of the sportingevents to each of the client devices 118.

While the interleaver service 114, content sources 104, data sources108, and ad sources 112 are shown as separate entities disposed atseparate locations, in other embodiments, any or all of these componentsmay be combined or integrated in whole or in part. For example, theinterleaver service 114 may include an integral content source (e.g.,source of original content), data source (e.g., fantasy sportsplatform), and/or ad source (e.g., ads for the interleaver service or arelated business). In other examples, a single source may providecontent, data, and/or ads.

FIG. 2 is a schematic diagram showing additional detail of the examplearchitecture 100, including an example of how the interleaver service114 uses the content 102, data 106, and ads 110 to generate customcontent 116 for each subscriber. FIG. 2 illustrates how custom content116(1) is provided to a particular client device 118(1) of the pluralityof client devices 118.

The content 102 may arrive at the interleaver service 114 as A/V feedsalready segmented into “clips.” Alternatively, the content 102 may besegmented at the interleaver service 114. In the example shown, aplurality of content streams (e.g., Content A, Content B, . . . ContentX) are segmented into a plurality of segments (e.g., segments A₁, A₂,A₃, . . . A_(L), . . . , B₂₃, B₂₄, . . . B_(M), . . . , X₁₇, X₁₈, X₁₉, .. . , etc.). In the fantasy sports context, each segment may include,for example, a “play” or “down” in football, a pitch and associated play(if any) in baseball, a shot or basket in basketball, a lead change inauto racing, a corner kick in soccer, etc. In some instances, severalplays (e.g., a football goal line defense, a baseball strikeout orat-bat, a basketball possession including multiple shots on basket, anauto racing lap, etc.) may be grouped into one segment.

The content 102 may arrive at the interleaver service 114 havingmetadata, “annotation” or “tagging” that provides information about eachclip. Alternatively, the content 102 may be annotated or tagged at theinterleaver service 114. The tags or annotations may include, forexample, information about the subject matter shown in each clip (e.g.,an athlete or athletes shown in the clip or that performed an action forwhich fantasy points are assigned or decremented, a description of theevents of the clip such as a touchdown in football, a description of agame to which the clip corresponds, a location depicted in the clip,etc.). The tags or annotations may be used by the interleaver service114 to determine specific athletes, teams, or other subjects depicted ineach individual clip. In some examples, the clips (e.g., A₁, . . . ,X₁₉, etc.) may additionally or alternatively be tagged with fantasyinformation (e.g., fantasy points attributable to a depicted event).

In the fantasy sports context, the data 106 may include fantasyinformation related to subscribers' fantasy teams, leagues, rosters, andthe like. The data may be obtained from websites (e.g., Yahoo!, ESPN,CBS, FOX, the NFL, RealTime, etc.) that host fantasy sports leagues. Thedata 106 may also include league information, such as the names of teamsin a user's league, the user's team roster, other teams' rosters, thenames of athletes that are fielded (being played), the names of athletesthat are benched (not played, but held in reserve). The data may includewin-loss records of fantasy teams, league standings, a user's favoritereal-life teams, favorite athletes, and other information.

By parsing the fantasy information or other data 106 corresponding toeach user/subscriber, the interleaver service 114 may determine subjectsof interest to the subscriber. In some examples, the interleaver service114 may determine that athletes on a user's fantasy roster(s) or rostersof opponents in the user's fantasy leagues would be of interest to theuser. The interleaver service 114 may then identify individual clips ofincoming content having tags that match the subjects of interest to theuser. The interleaver service 114 may then output the clips of interestto the client device 118(1) of the user as the feed of custom content116(1). The clips of interest may be transmitted to the client device118(1) individually or may be combined with one or more other clips fortransmission to the client device 118(1).

In some examples, the interleaver service 114 may also insert one ormore ads 110 at various locations in the custom content 116(1), such asbetween clips, in the middle of clips, simultaneously with clips,overlaid on top of clips, or the like. The ads 110 may include adsconsidered complementary or of interest to each particular user basedupon the data 106 corresponding to the particular user. The ads may beaudio, video, and/or still image ads. In the case of audio and/or videoads, the ads may be of varying length. In some examples, the length ofan ad inserted may depend on how long it has been since a previous adwas presented.

In the context of a fantasy football example, the custom content 116(1)may include clips (e.g., audio/video) of football plays relevant to theuser's fantasy football team (e.g., touchdowns, interceptions, fieldgoals, etc.), the user's opponent's fantasy team, the user's favoritereal-life team, the user's favorite athletes, etc., interspersed withselected advertisements (audio, video, and/or still images). In someexamples, the ads may be relatively short ads (e.g., of about 5 secondsto about 30 seconds) inserted every few clips. In some instances, one ormore of the ads may be related to one another (e.g., a sequence ofrelated ads). Due to their short length, users are less likely to stopwatching because the content will resume very shortly. Additionally,because the ads may be tailored to the user's interests, the adsthemselves may be of more interest to the user as well. Thus, in someexamples, within a relatively short period of time (e.g., 30 minutes), auser may be presented with a number of relevant clips (e.g., about 20-90clips) interspersed with a number of ads (e.g., 10-30 ads).

Example Interleaver Service

FIG. 3 is a block diagram showing details of the example interleaverservice 114 and a representative one of the client devices 118 of FIGS.1 and 2. As shown in FIG. 3, the interleaver service 114 includes one ormore processor(s) 302 communicatively coupled to memory 304. The memory304 may store one or more software and/or firmware modules, which areexecutable by the processor(s) 302 to implement various functions.

In the illustrated example, the memory includes a content manager 306which processes the incoming content 102 from the content sources 104.The incoming content 102 may comprise content from multiple concurrentlyairing broadcasts of sporting events, for example. The content manager306 may include a segmenting module 308 configured to segment theincoming content 102 (e.g., to break the content into short clips ofindividual plays or groups of plays). In some instance, incoming content102 may already be segmented, in which case the segmenting module 308may further segment the content or the content may not need to besegmented by the interleaver service 114. The content manager 306 mayalso include a tagging module 310 to tag the incoming content (e.g., toidentify one or more athletes, teams, locations, events, etc. depictedin each segment). The incoming content may be tagged prior to, during,or after the segmenting process. The tagging module 310 may tag untaggedsegments, add tags to previously tagged segments (e.g., segments thatwere received with existing tags), or replace previous tags with newtags. Once the incoming content is segmented and tagged (by the contentmanager 306 or otherwise) the tagged content segments 312 may be storedin a content store 314 in the memory 304 or another location accessibleto the interleaver service 114. Segments and/or segmenting informationmay be saved in the content store 314 as separate files or combined indata structures, or may be saved as metadata to the original incomingcontent.

The memory 304 also includes a subscription manager 316 which managessubscriptions of one or more users of the interleaver service 114. Thesubscription manager 316 includes a profile manager 318 and a weightingmodule 320. The profile manager 318 may be configured to create andmaintain a subscriber profile 322 for each user. The subscriber profiles322 may include user information (e.g., contact information, demographicinformation, etc.), fantasy sports information (e.g., information aboutfantasy sports athletes, team(s) league(s) or account(s) of the user),and/or other information (e.g., favorite real athletes or teams, socialnetwork information, etc.). The subscriber profiles 322 may also includesubscriptions to one or more topics of interest to the user. The topicsof interest may have been explicitly identified by the user, or may beinferred based on the user information, the fantasy sports information,or the other information. Each of the subscriptions to the topics ofinterest may be assigned a weight by the weighting module 320. Theweight indicates a relative importance or interest level of the varioustopics of interest to the user. The weightings may be explicitly set bythe user, may be set according to a default weighting, and/or may beinferred based on the user information, the fantasy sports information,a history of user action, or the like. The subscriber profiles 322 maybe stored in a subscription store 324 in the memory 304 or anotherlocation accessible to the interleaver service 114.

An interleaver module 316 stored in the memory 304 is responsible foridentifying tagged segments 312 to serve and/or include in the customcontent provided to the various users. The interleaver module 316includes a content selection module 326 an ad insertion module 328. Thecontent selection module 326 identifies tagged segments 312 that matchsubscriptions in subscriber profiles 322, prioritizes the segments basedon user preferences or weights in the subscriber profiles, and generatesa custom content stream for the user. The ad selection module 328identifies ads relevant to the respective subscriber profiles 322 andinserts them into the custom content stream at appropriate locations.

The interleaver module 316 also includes a packaging module 330 thatformats the segments of the custom content stream and prepares them fortransmission to client devices. For instance, the packaging module 330may break segments into multiple packets and/or insert multiple segmentsand/or ads into a packet or package. The segments are then placed into aqueue for transmission to the particular user. In the illustratedexample, the interleaver module 316 administers content queues 332(e.g., queue 1, queue 2, . . . queue N) corresponding to each user ofthe interleaver service. Thus, the queue for each user may containtagged segments and ads packaged for transmission to a client device ofthe respective user as a custom content stream. In other examples,rather than storing individual copies of segments and ads in the queuesfor each user, the queue for each user may simply include a pointer orother reference to a common, centralized copy of each segment or ad. Thetagged segments and ads remain in the respective user's queue (or in acentralized store to which the pointer or reference in the queue isdirected) until they are transmitted to the user's client device. Beforethey are transmitted to the client devices, an order of content segmentsand ads may be reordered based on various priorities and userpreferences (e.g., relevance to the user vs. freshness of the segments).A serving module 334 of the interleaver service 114 is configured totransmit packets in an order indicated in each queue to the respectiveclient device via one or more network connections 336 (e.g., wired orwireless connections etc.). The serving module 334 may serve packets tothe client devices as the packets become available (i.e., are packagedand placed in the queue) and/or to maintain a predetermined clip bufferat each client device.

FIG. 3 also illustrates additional details of representative clientdevice 118(1). As shown, client device 118(1) includes one or moreprocessors 338 and memory 340. The memory 340 includes, among otherthings, an interleaver client application 342. The interleaver clientapplication 342 may be installed on the client device 118(1) and whenopened or executed may provide a user interface by which the user mayinteract with the interleaver service 114. For instance, the interleaverclient application 342 may provide one or more graphical user interfacesthat allow the user to create an account, manage one or more fantasyteams, manage one or more preferences or subscriptions, and/or consume acustom stream of content, all of which are described in greater detailbelow.

The memory 340 also includes a buffer 344 that includes one or morecontent segments and ads of the custom content stream. The contentsegments and ads are placed in the buffer 344 when they are received viaone or more network connections 346 from the interleaver service 114.The content segments and ads remain in the buffer 344 until they areplayed or otherwise consumed by the interleaver client application 342,until they are deleted, or until they are replaced by other contentand/or ads (e.g., content and/or ads that are more relevant and/orfresher).

In the example of FIG. 3, the content selection module 326 identifiesone or more tagged content segments 312 as being relevant to a user ofclient device 118(1) based on information in the user's subscriberprofile 322. The ad insertion module 328 then inserts one or more adsthat are tailored to the user based on the user's subscriber profile.The tagged content segments 312 and ads are then formatted by thepackaging module 330 and placed in queue 1 corresponding to the user ofclient device 118(1). Then, the serving module 334 transmits one or moresegments and/or ads from the queue 1 to the buffer 344 of the clientdevice 118(1). In the illustrated example, the serving module 334transmits segments X₃₅ and C₁₁ and ad AD₁ to the client device 118(1).The segments and ads may be pushed to the client device 118(1) on aschedule determined by the interleaver service 114, or they may betransmitted in response to a request from the client device 118(1). Insome examples, the segments and ads may be transmitted responsive to thebuffer of the client device 118(1) falling below a threshold fullness(i.e., having less than a threshold number of segments or ads, or lessthan a threshold length of custom content).

The segments X₃₅ and C₁₁ and ad AD₁ may then be played back by theinterleaver client application 342 in the order they were received, inan order specified by the user, in a priority order determined by theinterleaver client application 342 or the interleaver service 114, or inany other suitable order.

While the modules are described herein as being software and/or firmwareexecutable by one or more processors, in other embodiments, any or allof the modules or functional blocks may be implemented in whole or inpart by hardware (e.g., as an application specific integrated circuit or“ASIC,” a specialized processing unit, a field programmable gate arrayor “FPGA,” etc.) to execute the described functions.

The memory 304 of the interleaver service 114 and/or the memory 340 ofthe client devices 118 may comprise computer-readable media and may takethe form of volatile memory, such as random access memory (RAM) and/ornon-volatile memory, such as read only memory (ROM) or flash RAM.Computer-readable media includes volatile and non-volatile, removableand non-removable media implemented in any method or technology forstorage of information such as computer-readable instructions, datastructures, program modules, or other data for execution by one or moreprocessors or circuits of a computing device. Examples ofcomputer-readable media include, but are not limited to, phase changememory (PRAM), static random-access memory (SRAM), dynamic random-accessmemory (DRAM), other types of random access memory (RAM), read-onlymemory (ROM), electrically erasable programmable read-only memory(EEPROM), flash memory or other memory technology, compact diskread-only memory (CD-ROM), digital versatile disks (DVD) or otheroptical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other non-transitorymedium that can be used to store information for access by a computingdevice. As defined herein, computer-readable media does not includetransitory media such as modulated data signals or carrier waves.

Example Segmenting and Tagging Operations

FIG. 4 is flowchart with schematic diagrams providing an overview of anexample segmentation and tagging process 400 that may be used to segmenta content feed into multiple segments and to tag the segments with oneor more tags. For ease of description and understanding, the process 400is described as being performed by the segmenting module 308 and taggingmodule 310 of the interleaver service 114 of FIGS. 1-3. However, theprocess 400 may additionally or alternatively be performed in whole orin part by one or more other systems.

As shown in FIG. 4, the segmenting module 308 receives content from oneor more content sources 104. In some cases, content may come from acontent source with predefined frames, tracks, chapters, scenes, orother segments, as in the case of content 402A in FIG. 4. In that case,the interleaver service may segment the content according to thepredefined segments. Alternatively, the segmenting module 308 may createnew segments, which may include multiple of the predefined segments, mayinclude a portion of a predefined segment, may span multiple predefinedsegments, or may replace the predefined segments. In other cases, as inthe case of content 402B, content may be received in a lengthy and/orongoing feed.

At block 404, the segmenting module determines whether the content needsto be segmented. If the content is received in an un-segmented fashion(e.g., a large content file or a continuous stream or feed of content)or if additional segmentation is necessary or desired (e.g., if thepredefined segments are to large or do not align with content ofinterest to the user), at block 406, the segmenting module 308 maysegment the content into one or more segments, such as segments 408A or408B. Additional details of segmentation are provided with reference toFIGS. 5A-5C, 6, and 8.

At block 410, the tagging module 310 may obtain one or more tags foreach segment. While in this example the tagging is shown as beingperformed after segmentation, in various examples the tagging may beperformed prior to, concurrently with, and/or after the segmenting. Thetags may be obtained by extracting the tags from the content of thesegments themselves or by receiving human input tags (as described infurther detail with reference to FIGS. 7, 8, and 17. Regardless of howthe tags are obtained, at block 412, the tagging module may apply thetag(s) to the content segments 408A and/or 408B. Once tagged, the taggedcontent segments 312 may be output to and stored in the content store314.

FIGS. 5A-5C illustrate examples of various types of content that may bereceived by the interleaver service 114, and different ways ofsegmenting the various types of content that may be received. Forinstance, FIG. 5A illustrates a continuous or incoming stream of content500A from a content source that includes predefined frames (A₁, A₂, A₃,etc.), tracks, chapters, scenes, or other segments. As mentioned above,the interleaver service 114 may use the predefined segments as-is, ormay create additional or alternative segments (e.g., because thepredefined segments are not of an appropriate length for use by theinterleaver service or are not centered around the desired subjectmatter or event). In FIG. 5A, segments “Seg. 1,” “Seg. 2,” and “Seg. 3”are examples of instances in which the interleaver service 114 hasadopted the predefined frames and segmented the incoming contentaccording to the predefined frames. “Seg. 4” is an example of aninstance in which the interleaver service 114 has segmented the contentinto a segment including multiple of the predefined frames (i.e., framesA₄-A₆). “Seg. 5,” “Seg. 6,” and “Seg. 7” are examples of instances inwhich the interleaver service 114 has segmented the content in tosegments shorter than the predefined frames, such that each of Seg.5-Seg. 7, includes a portion of a predefined frame. “Seg. 8” is anexample of a segment that spans parts of multiple predefined frames(i.e., part of frames A8 and A9).

Moreover, content may be segmented in multiple different ways. Forinstance, the portion of the content represented by frames A₁-A₃ hasbeen segmented into three segments (“Seg. 1,” “Seg. 2,” and “Seg. 3”)that generally align with the predefined frames, and has also beensegmented into one larger segment (“Seg. 9) that generally spans allthree of the predefined frames. In the context of fantasy football,“Seg. 1,” “Seg. 2,” and “Seg. 3” may generally correspond to threeindividual plays, while “Seg. 9” may generally correspond to a sequenceor series of plays (e.g., a goal line stand or a series of downs) or asingle play with one or more instant replays, celebrations, etc.Alternatively, “Seg. 2” may correspond to a reception, while “Seg. 1”may correspond to the pass that resulted in the reception, and “Seg. 3”corresponds to a touchdown by the receiver that caught the pass in “Seg.2.” In that case, “Seg. 2” may be considered a “short” version of thereception showing just the catch, while “Seg. 9” may be considered a“long” version of the reception showing the series of events leading upto and following the reception. By segmenting content in multipledifferent ways, the interleaver service 114 may serve different versionsto different users (e.g., send the short version to users with slowerconnection speeds and/or more limited data packages and send the largerversion to users with faster connection speeds and/or larger orunlimited data plans; send short or long version based on userpreferences; send short or long version depending on which is morerelevant to the user; etc.).

Alternatively, the interleaver service 114 may send the long version ofthe content along with metadata designating both short and longsegmentation, and the interleaver client application 342 on the clientdevice 118 may determine whether to play the short version or the longversion based on one or more factors (e.g., user preference, relevance,freshness, amount of content in the buffer 344, amount of content in theuser's content queue 332 at the interleaver service 114, or the like).In one specific example, the interleaver client application 342 maydetermine to play the short version if the buffer 344 is full (e.g.,over a threshold content size or number of clips), otherwise play thelong version. While in the foregoing examples, two alternatesegmentations (i.e., long and short) are described, in other examples,the content could include three or more segmentations.

While in the example of FIG. 5A, the series of frames constituting “Seg.9” are contiguous and consecutive, in other examples the segments may becomposed of multiple non-contiguous and/or non-consecutive frames orother portions of the content. Moreover, segments may be composed ofportions of multiple different content streams (e.g., “Seg. 3” from FIG.5A may be combined with “Seg. 2” from FIG. 5B to result in a newcomposite segment).

FIG. 5B illustrates an example in which content 500B comes from thesource as a program or a continuous feed without predefined breaks andmay be continuously segmented in substantially real time. The content500B in this example does not include any predefined frames or othersegments. In that case, the content may be segmented in a variety ofways. For instance, the content may be segmented manually (i.e., bymanual editing by a human user), automatically via a variety ofautomated segmenting techniques, or by a semi-automatic or partiallyautomated segmentation process. Whether manual, automatic, orsemi-automatic, the content may be segmented based at least in part onaudio of the content (when speaker starts/stops, when speaker mentionsathlete, etc.), video of the content (when athlete enters field of view,when play begins/ends, etc.), and/or textual content (when athlete'sname appears in images in the video or closed captioning) in or appendedto the content (e.g., in metadata or tags). These and other segmentingapproaches are described further below with reference to FIGS. 6 and 7.

FIG. 5C illustrates an example in which content 500C comes from thesource as individual discrete segments or blocks of content. The content500C may come from the source as individual segments of arbitrarylength, uniform length, or multiples (e.g., 2×) of a uniform length.

Regardless of the form of the incoming content and/or the segmentingapproach employed, not all of incoming content is necessarily kept as asegment and/or some segments may be discarded. Further, in instanceswhere the segments comprise metadata appended to or referencing theoriginal content, not all portions of the original content need bedesignated as a segment. In either case, the result is that someportions of the original content (e.g., huddles, credits, commercials,etc.) may be not segmented or may be segmented and then discarded.

FIG. 6 is a schematic diagram illustrating an example of how content 600may be segmented. Incoming content received by the interleaver service114 may include audio, video, still images, closed captioning data, tagsor and/or annotations. As mentioned above, the incoming content may besegmented based at least in part on audio of the content, video of thecontent, and/or textual content in or appended to the content. Content600 represents an example content stream corresponding to a televisedsporting event, which includes video 602, audio 604, and metadata 606.

The video 602 includes recorded and/or digitized video of the sportingevent. The video 602 may be raw, unedited video (e.g., a feed from oneof multiple cameras filming the sporting event), or it may be editedvideo (e.g., a final or semi-final version of video ready forconsumption by consumers). While content 600 includes a single feed ofvideo (i.e., images from a single camera or source), in other examples,video content may comprise multiple video feeds (e.g., simultaneousvideo feeds from multiple cameras filming the same sporting event). Asshown in FIG. 6, the video 602 includes one or more salient videosegments 608 and one or more non-salient video segments 610. The salientvideo segments 608 correspond to portions of the video 602 that depictan event of interest, while the non-salient segments 610 correspond toportions of the video 602 that depict events of low interest. Generally,the salient video segments 608 depict subjects (e.g., people, places, orthings) and/or occurrences (e.g., actions or events) that are or arelikely to be of interest to one or more users of the interleaver service114. In the fantasy sports context, salient video segments 608 mayinclude, for example, portions of the video that depict events for whichstatistics are maintained by an athletic governing body (e.g., rushingyards in football, strikeouts in baseball, three-point baskets inbasketball, etc.), portions of video that depict events resulting infantasy points being awarded or decremented. In some fantasy sportsexamples, salient video segments 608 may additionally or alternativelyinclude portions of the video showing context of the sporting event orsurroundings (e.g., stadium, cheerleaders, sidelines, halftime shows,announcers, analysts, fights, crashes in auto racing, etc.). Non-salientvideo segments generally relate to portions of the video of little or nointerest to users. In the fantasy sports context, non-salient videosegments 610 may include, for example, portions of the video showingperiods of inaction (e.g., rain delays, huddles, timeouts, etc.) orerrors or mistakes (e.g., inadvertently recorded video showing theground or the inside of the lens cap for instance, blurred or obscuredimages, scrambled or blank video feeds, etc.). In some examples,non-salient video segments 610 may include advertisements contained inthe original video. However, in other instances, advertisements in theoriginal content may be considered salient video segments 608.

The audio 604 comprises an audio recording (e.g., digital audio data)corresponding to the video 602. The audio 604 may comprise audiorecorded by a microphone associated with a camera that recorded thevideo 602, audio recorded by one or more announcer microphones, audiofrom a studio announcer/analyst, or other audio. The audio may berecorded contemporaneously with the video (i.e., “live” relative to thevideo) or at a different time prior to or after the video. The audio 604may include one or more salient audio segments 612 and one or morenon-salient audio segments 614. In some cases, the salient andnon-salient audio segments may be temporally aligned with the salientand non-salient video segments, respectively. However, in other cases,such as that shown in FIG. 6, the salient audio segments 612 may betemporally offset from the salient video segments 608. This may be thecase when, for example, a play unfolds and the announcer's descriptionor analysis of the play does not begin until the play is in progress orcomplete. In that case, the portion of the salient audio segment (i.e.,the announcer commentary or analysis may be delayed relative to thesalient video segment (i.e., the video depicting the play). In someinstances, the length of the salient audio segments 612 may be of thesubstantially a same duration as the corresponding salient videosegments 608. However, in many cases, the length of a salient audiosegment will be different than that of the corresponding salient videosegment. For instance, often a salient video segment (e.g., play) occursquickly and is of short duration while the salient audio segment isdelayed and/or more lengthy (e.g., in the case of announcer descriptionof the play followed by analyst discussion or explanation). In otherinstances, the salient video segment may be longer than thecorresponding salient audio segment. Further, in some instances, theremay be no salient audio segment corresponding to a salient video segment(e.g., when there is no announcer mention of a particular play or otherevent) or vice versa (e.g., when an announcer or analyst comments on anathlete or other topic that is not present in the video content).

The content 600 in FIG. 6 also includes metadata 606. Metadata take manyforms, including closed captioning data, annotations (textual, audio,video, etc.), bookmarks (e.g., showing points of interest), partitions(e.g., frame or track boundaries), editing data, supplementaryinformation (e.g., index or table of contents, scene or chapterdesignators, credits, etc.). In the illustrated example, metadata 606includes closed captioning data comprising a textual representation ofthe audio 604. In this example, the content 600 was received with themetadata 606, but in other examples, the interleaver service 114 mayprocess the incoming content as it is received in near real time to addthe metadata. Regardless of where the metadata 606 is generated, it maybe generated manually (e.g., entered by a transcriptionist),automatically (e.g., using a voice recognition speech-to-text program),or semi-automatically (e.g., using a voice recognition speech-to-textprogram to generate a preliminary data, which is then edited by one ormore human administrators). The metadata 606 may or may not be alignedtemporally with the video 602 and/or audio 604. The metadata 606 mayinclude salient metadata 616 and non-salient metadata 618, which may ormay not correspond to salient and non-salient audio and/or videosegments. In the example of FIG. 6, since the metadata represents closedcaptioning data, the metadata generally corresponds to the audiosegments (though may not align temporally with the corresponding audiosegments).

In some examples all parts of the content (e.g., audio, video, textualcontent, images, etc.) may be segmented at a same time and/or in a samesegmenting operation. For instance, the content may be divided intomultiple parts based on time segments of a recording, such that eachsegment is composed of whatever audio, video, text, or other content isincluded within the particular time range of the segment. In otherexamples, the various parts of the content may be separated andsegmented separately. That is, the audio may be separated from the otherportions of content and the audio may be segmented using one or moreaudio segmenting techniques. Similarly, the video and other portions ofthe content may each be segmented individually. Thereafter, one or moresalient audio, video, and/or other segments may be aligned andrecombined so as to provide segments having salient audio, video, andother content that are temporally aligned. For example, as mentionedabove, salient video segment 608 begins at a time in the content 600prior to salient audio segment 612, which in turn begins prior to thecorresponding salient metadata 616. In some examples, the salient videosegment 608, salient audio segment 612, and salient metadata 616 may bealigned temporally. Aligning the various salient segments temporally mayinclude aligning them to begin at a same time, to end at a same time,and/or to be centered around a same midpoint in time.

In some examples, the various salient segments may be of differentlengths (e.g., the salient audio segment may be longer than the salientvideo segment or vice versa). In some instances these differences inlength may be acceptable or even desirable. However in other instances,it may be desirable that the various salient segments that are to becombined be of the same or substantially the same length. In such cases,a longer segment may be trimmed to match a length of a shorter segment,a shorter segment may be supplemented with additional content or ads toreach the length of a longer segment, or one or more of the segments maybe sped up or slowed down to match the length of the other segment(s).

In still other examples, one or more portions of the original contentmay be omitted from the finished segments. For instance, the originalaudio of the content may be omitted from the segments. In that case, thefinished segments may be free of audio entirely, may be replaced byalternative audio (e.g., an audio account of what is shown in the video,commentary on what is shown in the video, or the like).

FIG. 7 is a schematic diagram showing additional details of the exampletagging module 310 of the interleaver service 114 that may be used totag segments with terms describing subject matter in the segment, asource of the segment, a date and time of the segment, fantasy pointsattributable to events in the segment, or the like. As mentionedpreviously, in various examples segments may be tagged automatically,manually (i.e., by one or more humans), or semi-automatically (usingboth automated and manual processes in parallel or in series). In theexample of FIG. 7, the tagging module 310 includes a tag extractionmodule 702 configured to perform automated tagging and a human input tagmodule 704 which facilitates receiving human input tags. Thus, thetagging module 310 in this example is capable of performing taggingautomatically, manually, or semi-automatically. Whether the taggingmodule 310 does tagging automatically, manually, both in parallel (e.g.,cumulative automatic and manual tagging), or both in series (e.g.,automatic tagging reviews and revised by human users or vice versa) maydepend upon the form in which the content is received, the nature of theevents depicted in the content, the demand for new fresh segments, theallowable time for processing incoming content into segments, or thelike.

The tag extraction module 702 in this example includes a videoextraction module 706, an audio extraction module 708, and a metadataextraction module 710. The tag extraction module 702 may use any or allof these modules to automatically extract or discern subject matterdepicted or described in the content.

The video extraction module 706 may include one or more algorithms toperform facial recognition to identify faces of people depicted in videoof the content. Facial recognition approaches employed by the videoextraction module 706 may include geometric approaches, photometricapproaches, or other facial recognition approaches. By way of exampleand not limitation, several specific facial recognition algorithms thatmay be used separately or in combination include the Principal ComponentAnalysis using eigenfaces, Linear Discriminate Analysis, Elastic BunchGraph Matching using the Fisherface algorithm, the Hidden Markov model,the Multilinear Subspace Learning using tensor representation, and/orthe neuronal motivated dynamic link matching. In some examples, thefacial recognition may be performed with reference to a database ofimages (e.g., images of athletes of one or more sports). Once a personis identified using facial recognition, the segment may be tagged withthe name, position, or other information about the identified person.

Additionally alternatively, video extraction module 706 may identify oneor more images or other objects in the content. The object recognitionmay be performed based at least in part on the shape, color, and/orcontrast of objects in the video content. For instance, the videoextraction module 706 may be able to identify objects such as sportingequipment (e.g., a helmet, a ball, shoes, a racket, etc.), structures(e.g., buildings, goals or goal posts, baskets, shot clock, home plate,etc.), visible symbols or markings (e.g., yard lines, side lines, baselines, starting lines, finish lines, track turns, etc.). In someexamples, the video extraction module may perform object recognition byanalyzing the video content, identifying one or more salient objects inone or more frames of the video, and then comparing the salient object(s) to a database of known objects or object types. If the salientobject(s) match known objects or object types, the segment may be taggedas containing the known object or object type. Numerous machine visiontechniques are available to perform object recognition depending on theobject to be recognized.

Additionally alternatively, video extraction module 706 may performoptical character recognition (OCR) to identify one or more charactersin images of printed, computer generated, or handwritten text (e.g.,signs, names or numbers on jerseys, scores, time clocks, tickers,announcements, etc.). The text thus recognized may be output as tags ofthe segment.

Furthermore, in addition to extracting data directly from the contentitself, the tag extraction module 702 may further use the extractedinformation as a query to search one or more other databases ofinformation (e.g., roster information, statistics, schedule information,etc.). In some instances, this additional information may be used tohelp disambiguate between multiple possible identifications. Forinstance, the facial recognition algorithm may indicate that a videoclip depicts one of multiple possible candidates, but may not be able todefinitively determine which person is actually depicted. An objectrecognition algorithm may also be used and may determine (e.g., based onthe uniform colors) that the person belongs to a particular team. Byquerying a roster database, the tag extraction module 702 may determinethat only one of the possible candidates plays for the particular teamand in this way may determine the identify of the particular person.

In one specific example related to football, the video extraction module706 may use object recognition to identify a ball carrier by recognizingthe ball based on the color (brown) and/or shape, and may then determinean identity of the ball carrier using facial recognition by comparingthe video content to a database of images of football players and/or byusing OCR to recognize a name or number on the player's jersey. Thesegment may then be tagged with a variety of tags, such as the identityof the ball carrier, the particular sport (e.g., football), a positionof the ball carrier (e.g., running back, quarterback, etc.), a team forwhich the ball carrier plays, any other athletes shown in the segment,or the like. In other examples, other information may be recognized inthe segment and/or included as a tag of the segment.

The audio extraction module 708 may perform speech-to-text conversion onthe audio content to determine one or more words that are being spokenin the audio content. The output of the speech-to-text conversioncomprises text, some or all of which may be used to tag the audiocontent or temporally aligned video content. In some examples, the audioextraction module 708 may select less than all of the output of thespeech-to-text conversion for use as tags, such as names (e.g., athletesnames, team names, announcer names, etc.), events for which statisticsare kept and/or fantasy potions are awarded (e.g., touchdown, homerun,tackle, goal, score, basket, etc.), locations, etc.

Additionally or alternatively, the audio extraction module 708 mayperform voice signature recognition, sound recognition, and/or patternrecognition to identify a source of the respective voice, sound, and/orpattern. For example, the audio extraction module 708 may compare aportion of audio content to a database of audio content, such as adatabase of known voice samples (e.g., of known athletes, coaches,announcers, etc.) or other known sounds common to various sportingevents (e.g., crowd noise, field noise, crack of a bat, shot clockbuzzer, motor noises, etc.). Prior to performing the comparison, theaudio extraction module 708 may perform some pre-processing to identifyparticular classes of audio (e.g., speech, motor noise, etc.), toisolate or enhance certain sounds, or the like. In some examples, theaudio extraction module 708 may analyze the video content, identify oneor more salient portions of the audio, and then compare the salientportion of the audio to the database of known voice samples or otherknown sounds. If the salient audio matches known voices or sounds, thesegment may be tagged as containing the known voice or sound. Numerousaudio processing techniques are available to perform voice signature,sound, and/or pattern recognition.

The metadata extraction module 710 may extract data metadata such asclosed captioning information, structure of the content such as audioand/or video format, compression, resolution, source information (e.g.,a broadcasting company, website, or other source of the content), datainformation, property right information (e.g., copyright, licenseinformation, etc.), annotations, predefined segments (e.g., frames,chapters, etc.), or the like. The metadata extraction module 710 mayadditionally or alternatively include subject matter recognitioncapabilities to determine or infer subject matter (e.g., people, places,things, events, actions, etc.) included in content from the metadata.For instance, if content includes closed captioning or other metadataincluding names of two athletes, the metadata extraction module 710 mayquery one or more other databases to determine which teams those twoathletes are on, when those two teams play each other, the positions ofthe athletes, or the like. From this, the metadata extraction module 710may infer that the segment corresponds to a segment from a particulargame between the two teams, and that the two athletes are featured inthe segment. Depending on the respective positions of the two athletes,the metadata extraction module 710 may also be able to infer somethingabout the nature of the event depicted in the segment. For instance, ifone of the athletes is a kicker, the metadata extraction module 710 mayinfer that the play involved a kick. The information obtained by themetadata extraction module 710 may be used alone or together withinformation obtained by the video and/or audio extraction modules to tagthe various segments with terms relevant to the segments.

The human input tag module 704 provides one or more inputs 712, fromwhich the tagging module 310 may receive human input tags. In theillustrated example, the inputs 712 include event inputs 714 fromsporting event personnel, such as referees, umpires, replay officials,statistics keepers, or other personnel associated with a sporting event.These inputs may be in the form of speech, text, or other informationand may include inputs captured or received at the time the content wasrecorded (e.g., by officials' microphones or stat keepers' entriesduring the sporting event) or after the fact (e.g., during an instantreplay, booth review, review of the film after the game).

The inputs 712 may additionally or alternatively include fantasy inputs716 from one or more statisticians, analysts, or fantasy sports companypersonnel. The inputs from the fantasy inputs 716 may include terms ordescriptions associated with or describing the subjects and/or eventsdepicted in one or more segments. Additionally or alternatively, thefantasy inputs 716 may include a number of fantasy points awarded ordecremented based on events depicted in the segment(s).

The inputs 712 may additionally or alternatively include user inputs 718from one or more users of the interleaver service 114, one or morefantasy sports services (e.g., Yahoo, ESPN, etc.), a crowd sourcingservice such as Amazon's mechanical turk that solicits tags for one ormore segments in exchange for compensation (e.g., money, goods,services, discounts, etc.). In the case of users of the interleaverservice 114, the segment may be served to one or more users as part oftheir custom content. The users may then annotate the segment, postcomments regarding the segment, message one or more of their contactsregarding the segment, or the like. These annotations, comments, and/ormessages may be analyzed to identify additional tags associated with thesegment. In this way, tags for segments may be updated and refined overtime to improve the accuracy and completeness of the tags for eachsegment. In the case of users of a crowd sourcing platform such asAmazon's mechanical turk, the segments may be posted on the crowdsourcing platform where the users may view the segments and input one ormore tags associated with each segment. Users may be compensated basedon, for example, the number of segments they tag, the number of tagsthey assign to each segment, the timeliness of the tags (i.e., how soonthey tags are applied after the segments are posted), or the like.

In still other examples, a crowd sourcing approach could be implementeddirectly through the interleaver service 114. In that case, user mayreceive compensation (e.g., money or credits to their account) fortagging segments. In some examples, if a user opts to participate as acrowd source worker to help tag segments, the user may receive untaggedsegments as part of the user's custom content stream. The user mayadjust a number or frequency of untagged segments that the user receivesto tag via one or more interfaces of the interleaver service. In otherexamples, the interleaver service 114 may serve a separate segmenttagging interface presenting multiple segments available to be tagged bythe user.

In some cases the inputs 712 may comprise raw inputs (speech, text,points, etc.) that are then converted into individual tags to be appliedto the segments. In other instances however, the inputs 712 may compriseindividual terms or other tags in a form suitable to be applied to aparticular segment or other portion of content.

FIG. 8 is a schematic diagram illustrating an example tagged (orannotated) segment 800. The tagged segment 800 corresponds to a portionof the content 600 shown in FIG. 6, which has been tagged by the taggingmodule 310 with multiple applicable tags. Of course, in other examplestagged segments such as tagged segment 800 may be generated by othersystems and using other processes. Moreover, the systems and processesdescribed with reference to FIGS. 6 and 7 may be used to generatedifferent tagged segments. Thus, using the tagging or annotationsassociated with the tagged segment 800, and using information found ineach subscriber profile 322, the interleaver service 114 may determineif any particular tagged segment (e.g., video clip) has fantasy pointrelevance (or other relevance, such as favorite player or team) to anyparticular user and associated client device 118. Accordingly, theinterleaver service 114 may be configured to include the tagged segment800 in the custom content 116 associated with those client devices towhich the segment is relevant.

As shown in FIG. 8, the tagged segment 800 comprises the salient videosegment 608 aligned with the salient audio segment 612 and salientmetadata 616. In some examples, the tagged segment 800 may include oneor more statistics 802 relevant to the segment and one or more tags 804relevant to the segment. For instance, in the illustrated example, thestatistics 802 include an indication of a result of a last play (e.g.,an 8-yard rushing touchdown by Marshawn Lynch) and one or more gametotal statistics (e.g., 152 rushing yards, 32 receiving yards, 2touchdowns) for an athlete featured in the segment.

In the illustrated example, the tags 804 include an athlete shown in thesegment (e.g., Marshawn Lynch), a team for which the athlete plays(e.g., Seahawks), a location of a game that the segment depicts or alocation of the team for which the athlete plays (e.g., Seattle), aconference (e.g., NFC) to which the team belongs, one or more actions orevents depicted in the segment (e.g., Rushing, Touchdown), a quantityassociated with an action (e.g., 8 yards, as applied to rushing), aposition played by the athlete (e.g., running back), a date on which thecontent or segment was generated and/or on which the athletic event wasplayed, a time at which the content or segment was generated and/or atwhich the athletic event was played, a source from which the contentcame (e.g., ESPN), and an opposing team whether or not depicted in thesegment (e.g., vs. Chargers). Of course, the tags 804 depicted in FIG. 8are merely examples, and numerous additional or alternative tags may beused, depending on the subject matter depicted in the segments andwhen/how the segments are to be provided to individual users.

The tags 804 may include tags provided with the incoming content, tagsgenerated automatically (e.g., by the tag extraction module 702), tagsgenerated manually (e.g., by the human input tag module 704), and/ortags generated semi-automatically using both of the tag extractionmodule 702 and the human input tag module 704. In some examples, thestats 802 may be generated from the tags 804 or may be obtained fromanother source. For instance, the stats 802 may be obtained from awebsite or web service such as Gametracker, by Yahoo! Corporation. Insome examples, the stats 802 may be configured to be presented to theuser along with the segment on a display of the user's client device,while the tags 804 may be used to determine what content is to be servedto the user's client device but is not configured to be presented to theuser along with the segment. That is, the stats 802 are intended forviewing or other consumption by the user, while the tags 804 may form abasis upon which segments are identified and prioritized fortransmission and/or consumption by individual users.

In some examples, each tag may include a score indicative of relevanceof the tag to a segment, specificity of the tag to the segment (e.g., isthe tag a general term such as “running back” that may be applicable toa large number of segments or a more specific term such as a specificathlete's name), historical importance of the tag to users (e.g., howhas this tag been ranked in the past as applied to other segments),number of times the tag was associated with this segment (e.g., if thesegment has been tagged by multiple manual and/or automatic sources),etc. In the illustrated example, higher scores are better (i.e., morerelevant, more specific, more important, more frequent, etc.) than lowerscores. For instance, in FIG. 8, the tag Marshawn Lynch has a tag scoreof 3 because it is very relevant (corresponding to an athlete depictedin the segment) and very specific (corresponding to an individualathlete as opposed to a class of athletes). Conversely, the term runningback has a tag score of 1, because it is more general and is of lesshistorical importance to users.

In some examples, the tags 804 may include a fantasy score tag, whichmay be usable to designate a number of fantasy points attributable toone or more events depicted or described in the segment. If included,the fantasy score tag may be populated with an absolute number of pointsattributable to one or more events in the clip (e.g., 6 points) or mayserve as a place holder to receive to receive a score specific to aparticular user based on the fantasy sports platform(s) in which theuser participates. For instance, the score may be inserted at the timeof tagging, when the segment is transmitted to a user's client device,when the segment is added to a queue for transmission to the user'sclient device, etc. Additionally, the fantasy score may be calculatedand populated directly by the interleaver service, or may be scrapedfrom the one or more fantasy sports platforms that the user participatesin (e.g., by the interleaver service 114 or the interleaver clientapplication 342).

The tag scores may be used in combination with user preferences orweights in determining which segments to serve to a particular user andwhen. By way of example and not limitation, if client device's buffer344 is relatively full, only segments with high tag scores may beserved.

While in this and other examples the statistics and/or tags are shown asbeing assigned to and stored with the segments in the content store 314in advance, in other instances, the tags may be assigned and/or appendedto the segments at other times, such as when the segments are placed inthe content queues 332 or when they are transmitted to the clientdevices 118. This may be the case when, for example, there is a reasonto tag a segment differently for different users (e.g., the segment isrelevant to different users for different reasons, different users areentitled to different fantasy points for the segment, etc.). In stillother examples, some tags (e.g., tags describing subjects or events inthe segment) may be stored in association with the segments in thecontent store 314, while other tags (e.g., fantasy points attributableto one or more events in the segments) may be appended to the segmentswhen the segments are placed in a content queue for a specific user orwhen the segment is transmitted to the client device of the specificuser.

Example Subscriber Profiles

FIG. 9 is a schematic diagram illustrating details of an examplesubscriber profile 322. Generally, each user of the interleaver service114 has a corresponding subscriber profile. The subscriber profile 322may be stored as a table 900 or other data structure in the subscriptionstore 324 or elsewhere in memory 304 of or accessible to the interleaverservice 114. In some examples, table 900 (or portions of the table, orinformation from or based upon the table) may be presented in a userinterface for viewing and/or editing by the user and/or administratorsof the interleaver service 114. In operation, the interleaver service114 may compare and/or contrast information for a particular usercontained in the subscriber profile 322 and/or table 900 with tagginginformation contained in one or more tagged segments 800. In one aspect,the interleaver service 114 may determine if athlete, team or othertagging information in any tagged segment 800 is relevant with respectto fantasy athlete/fantasy team and/or other information in a user'ssubscriber profile. Based on that relevance, the segment 800 may be sent(with or without actual tagging information) to the user's clientdevice. Accordingly, each user may receive custom content 116 thatincludes audio/video segments depicting athletes performing in a mannerthat has relevance to the user's fantasy team and/or the user's otherinterests, while not receiving other segments having less or norelevance to the user's fantasy team.

The subscriber profile 322 of each user includes subscriber information902 about the user, such as name, contact information (e.g., emailaddress, phone number, physical address, etc.), demographic information(e.g., gender, age, etc.), socioeconomic data (e.g., marital status,income level, family members, etc.), and the like. The subscriberinformation 902 may be provided by the user, such as at the time ofaccount creation, during installation or set up of the interleaverclient application 342, or during use of the interleaver service 114(e.g., based on click stream activity, based on user responses toquestions or prompts, based on user interaction with presented contentor ads, or based on annotations, comments, or messages the userprovides, etc.). Additionally or alternatively, at least a portion ofthe subscriber information 902 may be derived or inferred by theinterleaver system 114 based on, for example, a type or types of clientdevice(s) the user uses to access the interleaver service, an internetprotocol address of the device(s) the user uses to access theinterleaver service, times of day at which the user accesses theinterleaver service, or other contextual information.

In some examples, subscriber profile 332 may also include paymentinformation 904, such as credit card numbers, bank accounts, paymentaccounts (e.g., PayPal, Square Wallet, Google Wallet, etc.), Bitcoin, orother payment instruments or modes. The payment information 904 may beused, for example, to allow users to pay for access to the interleaverservice 114, to pay for access to certain content provided by theinterleaver service 114 (e.g., proprietary content of one or morecontent sources), to pay for in-app purchases, or any other financialtransactions related to the interleaver service 114. The paymentinformation 904 may additionally or alternatively allow users to receivepayment from the interleaver service 114 and/or other users of theinterleaver service For instance, user's may be able to earn money orother compensation for tagging segments via a crowd sourcing platform,for providing annotations or comments on segments, and/or for providingcontent to the interleaver service 114 for distribution to other users.The amount of compensation earned by the users may be based at least inpart on the quantity and/or quality of the tags, annotations orcomments, and/or content provided by the user.

In some examples, the interleaver service 114 includes a completefantasy sports platform, including infrastructure to support creationand operation of fantasy sports leagues and teams in which users canparticipate. That is, users can join one or more fantasy sports leaguesand/or teams administered by the interleaver service. Additionally oralternatively, the interleaver service 114 may work in conjunction withone or more other accounts of the user, such as other fantasy sportsaccounts, social networks, gaming accounts, or the like. In that case,the interleaver service 114 may provide custom content related to and/orbased at least in part upon the other accounts of the user. However, theinterleaver service 114 may not provide the underlying functionality ofthe other accounts. In the fantasy sports context, the interleaverservice 114 may serve custom content including segments depicting eventsrelated to one or more of the user's fantasy sports accounts. Forinstance, the interleaver service 114 may present segments depictingathletes on one or more of the user's fantasy sports rosters, athleteson an opponent's fantasy sports roster, athletes on a roster of othermembers of the user's fantasy league(s), events resulting in fantasypoints being awarded or decremented to the user, or the like. In othercontexts, the interleaver service 114 may serve the user one or moresegments including information from, or based at least in part on, theone or more other accounts. For instance, the interleaver service 114may present segments depicting subj ect matter (e.g., video, audio,images, text, etc.) from the one or social networking accounts (e.g.,Facebook, Twitter, Instagram, etc.), one or more gaming accounts (e.g.,a sports book account, a gambling account, a game, etc.), a mediaaccount (e.g., Youtube, Netflix, Hulu, etc.), or other accounts of theuser.

The subscriber profile 332 also includes account credentials 906 for theinterleaver service 114 (the user facing portion of the interleaverservice is named Clip Engine in this example). The account credentials906 may additionally or alternatively include account credentials forone or more other accounts of the user. In the illustrated example, theaccount credentials 906 include credentials for fantasy sports servicesother than Clip Engine of which the user is a member (ACME FantasySports in this example). In other examples, the user may have accountswith other fantasy sports services, in which case account credentialsfor those other accounts may be included as well. In this example, theaccount credentials 906 further include credentials for social mediaaccounts of the user (Facebook and Twitter in this example), a gamingaccount of the user (SportsBets.com in this example), and potentiallyother accounts (not shown). The account credentials for each account maycomprise any credentials needed to log in to or otherwise access theaccount or service. By way of example and not limitation, the accountcredentials for each account may comprise a login name, email address,password, pin, digital certificate, watermark, hash, biometricinformation (e.g., finger print, retinal scan, facial recognition, voicerecognition, etc.), or the like.

By including the account credentials of the one or more other accounts,the interleaver service 114 is able to access the other accounts toobtain information usable to, among other things, provide the user withthe custom content. For instance, the interleaver service 114 may accessother fantasy sports accounts to obtain information about the user'sfantasy league(s), team(s), roster(s), fantasy points and/or rules ofhow fantasy points are awarded, identify which fantasy athletes areactive and which are benched, and the like. In other examples, theinterleaver service 114 may access other social media accounts toidentify social media contacts of the user, determine topics of interestto the user and/or the user's social connections, and in some instancesto obtain content (e.g., photos, videos, etc.) from the social mediaaccounts. In still other examples, the interleaver service 114 mayaccess one or more gaming accounts of the user to determine outcomes(e.g., sporting events, elections, etc.) on which the user has placedbets, people against whom the user has bet, games the user has played,etc. In some examples, the interleaver service 114 may access the one ormore other accounts by calling an application programming interface(API) of the service to which the account belongs. The interleaverservice 114 may use information obtained by accessing the other accountsand/or other information to determine which content segments in whichthe user is likely to be most interested and, therefore, which segmentsto include in the user's custom content stream. The interleaver service114 may additionally or alternatively use this information to identifyads to serve to the user, an order in which to serve the contentsegments and/or ads, or for other purposes.

For instance, the subscriber profile 322 may include subscriptioninformation 908 defining various topics of interest to the user based onthe information obtained from the accounts. The subscription information908 is shown in tabular form for ease of explanation, but in otherexamples may be stored and/or presented in any form. In the illustratedexample, the subscription information includes an entry 910 for eachaccount (or sub account thereof) for which account credentials areprovided. Entries 910 may also be included for other items such as“topics” of interest, websites or services that don't require an accountor credentials, or any other item that is usable to identify topics thatmay be of interest to the user.

In the illustrated example, the entries 910 include four entriescorresponding to sub accounts of the ACME Fantasy Sports account (namelyACME Fantasy Auto Racing, ACME Fantasy Baseball, ACME FantasyBasketball, ACME Fantasy Football, and ACME Fantasy Soccer). The entries910 also include entries for social media accounts (namely Facebook,Twitter/Vine, and YouTube) and a gaming account (namely SportsBets.com).The entries 910 also include an entry for a topic of interest to theuser (namely “Sports”) and several other sites or services that do notrequire an account to access (namely Vegas Odds and Gaming Calendar).

For each of the entries 910 the subscriber profile 322 includes one ormore subscriptions 912 about which the user desires to receive contentsegments. For instance, the entry 910 entitled “ACME Fantasy AutoRacing” includes subscriptions 912 to “Drivers on my fantasy roster(s),”“Driver(s) on opponent's fantasy roster(s),” and “Drivers on other teamsin my league(s).” As another example, the social media entry 910 for“Facebook” includes subscriptions 912 to “Facebook contacts.” As yetanother example, the entry 910 for the topic “Sports” includessubscriptions 912 to “Favorite Teams” and “Favorite Athletes.” In someexamples, the subscriptions may be predefined by the respective servicesto which the entries correspond. In some examples, the user may selectthe particular subscriptions he or she desires for each service (e.g.,using one of the interfaces described below for managing content). Insome examples, one or more default subscriptions may be set for aservice, which may be modified by the user. In still other examples, theinterleaver service may set one or more subscriptions based oninformation in the user's subscriber profile, the user's content viewinghistory (e.g., which segments did the user request, which segments didthe user watch, skip or replay, etc.). The subscriptions 912 may bestatic (meaning that they remain constant over time) or they may bedynamic (meaning that they are temporal in nature and change over timeor based on one or more other factors). An example of a dynamicsubscription is the subscription to “Drivers on my fantasy roster(s)”which may change as the user updates his or her roster(s). Anotherexample of a dynamic subscription is the subscription to “Drivers on myopponent's fantasy roster(s)” because the user's opponent will changefrom week to week, race to race, or the like.

For each subscription 912, the interleaver service 114 may determine oneor more tags 914 that are relevant to the subscription. For instance,the first subscription in the illustrated example is for “Drivers on myfantasy roster(s).” The interleaver service 114 may determine (e.g., byquerying the user's ACME Fantasy Sports account) the drivers on theuser's fantasy roster. In the illustrated example, the user has DaleEarnhardt Jr., among other drivers, on his or her roster. Thus, “DaleEarnhardt Jr.” may be added as a tag to the user's subscriber profile322, potentially along with one or more other related tags, such as“Dale,” “Dale Jr.,” “Earnhardt,” “Jr.,” “No. 88,” etc. Similarly, theinterleaver service 114 may determine tags relevant to the othersubscriptions of the user's subscriber profile 322. Example tags foreach subscription are given in the column of tags 914. In some examples,these tags 914 are the terms that the interleaver service 114 uses tomatch to tags of content segments to identify segments that are relevantto or would otherwise be of interest to the particular user.

As discussed above, certain subscriptions are dynamic, meaning that theychange over time or in response to events. In some examples, the tags914 associated with a dynamic subscription may change over time. Forinstance, a user's fantasy opponent typically changes periodically(e.g., daily, weekly, etc.). In that case, the particular tagsassociated with the subscription “Athletes on my opponent's fantasyroster” may change periodically to match the user's changing opponents.

In some examples, the tags 914 may be assigned weights 916. In theexample of FIG. 9, the weights are assigned to each category of tags.That is, in the illustrated example, all tags associated with aparticular subscription are assigned a same weight. For instance, alltags associated with “Athletes on my active fantasy roster(s)” areassigned a weight of 5, while all tags associated with “Athletes on mybench” are assigned a weight of 2. However, in other examples, eachindividual tag may be assigned its own weight, regardless of thesubscription that the tag is associated with.

The weights 916 may be automatically assigned by the interleaver service114, may be default settings, may be manually set by the user (asdescribed further below), and/or may be inferred by the interleaverservice 114. For example, some or all of the weights 916 may be inferredbased on other settings made by the user, the user's interaction withthe interleaver service 114, segments the user has requested, segmentsthat the user has skipped, etc.

As discussed above, certain subscriptions are dynamic, meaning that theychange over time or in response to events. In some examples, the weight916 associated with a dynamic subscription may change over time. Forinstance, a weight of a tag associated with a betting service may changedepending on a dollar value of a user's bet placed with the service. Inthat case, if a user places a relatively small bet (e.g., below a presetor user-specific threshold amount) the weight may be relatively low(e.g., a weight of 2 or 3), whereas if the user places a larger bet(e.g., greater than or equal to the present or user-specific threshold)then the weight may be higher (e.g., 4 or 5). In some examples, theweight may be proportional to the size of a bet, the number of betsplaced with the betting service, or any number of other factors. Asanother example of a weight changing over time, a weight of tagsassociated with a particular fantasy sports subscription (e.g.,football, baseball, soccer, etc.) may be higher when the particularsport is currently in season than when it is out of season. Forinstance, a weight associated with a fantasy football subscription maybe higher during football season than during the offseason.

The weights 916 are one factor that may be used to prioritize thesegments that are provided to the user in the user's custom contentstream. For instance, the interleaver service 114 may prioritizesegments with tags that the user's subscriber profile ranks higher oversegments with tags that the user's subscriber profile ranks lower.However, other factors may also contribute to the selection of segmentsfor presentation to the user, such as freshness of the segments, varietyof segments, number of available segments that have not yet been viewedby the user, etc.

Example User Interfaces

FIGS. 10-15 illustrate schematic diagrams of example user interfaces(Uls) that may be used by a user to interact with a customized contentservice, such as the interleaver service 114. However, the interleaverservice 114 may employ other UIs and/or the illustrated example UIs maybe used with other systems.

FIG. 10 is a schematic diagram of an example user interface 1000 of aclient application for consuming custom content, such as a customcontent stream 116 from the interleaver service 114. In the exampleshown, the user interface may appear on a client device, such as theclient devices 118(1) through 118(N) of FIG. 1. In the example of FIG.10, a Watch Now tab 1002 has been selected by a user, thereby invokingthe user interface 1000 from among a plurality of other user interfaces,each of which may be associated with tabs or other user interface tools.

In the example shown, a clip 1004 is playing on the screen, showing anathlete performing action that earned fantasy points for the user'sfantasy team. The athlete may be highlighted or indicated by a halo,shading or other feature. A headline 1006 may be used to show adescription of the clip, which may be based on a perspective of theuser's fantasy team. Thus, the headline “Marshawn Lynch—8 yard rushingtouchdown” alerts the user to the reason that fantasy points wereawarded. The number of fantasy points earned by the user's fantasy teamin the clip may be indicated by a message 1008, which in the exampleshown is located in the upper right corner of the clip.

The user may swipe with a finger across the clip, as it plays orconcludes, to move forward to a later clip, or backward to an earlierclip. A clip in mid-play may be stopped and earlier or later clipsinvoked. The earlier and later clips may be located in a buffer accessedby the user interface 1000, or may be downloaded from the interleaver114 or other location such as servers or the “cloud.” Skip forward andskip backward controls 1010, 1012 allow a user to move to clips ineither end of a buffer, queue or other content source.

Rating indicators 1014, 1016 allow the user to rate the clip favorablyor unfavorably. Such ratings may provide input to an algorithm (e.g.,artificial intelligence) that govern which clips are provided to theuser and to the user's queue. A “Why am I seeing this clip?” link 1018allows the user to request information about why the clip is beingprovided. Possible reasons include that the clip involves fantasy pointsfor the user's fantasy team, an opponent's fantasy team, a possibledraft prospect available to the user, a favorite athlete of the user,etc.

A comment box 1020 is adapted to provide selection indicators such as:“View Comments” or “Add Comment.” In the example shown, “Add Comment” isselected, allowing the user to provide a comment available to a fantasyopponent, others in the user's fantasy league, others in the user'scontacts, or to the general public that may view the clip to which thecomment was applied. The comments may be text, audio, audio/video or mayinclude an attached file. Additionally, selection of the “View Comments”selector allows users to view comments left specifically to them byother users, or to view comments left by others for general consumption.

A client clip queue 1022 provides a view of clips that are available forviewing on the client device. The clips may be available locally in abuffer, or available remotely for download. The clip queue 1022 showsthree clips, and additional clips may be available if the user swipes upor down. The clips are labeled in an order, i.e., “Next clip” and“2^(nd) clip,” etc. Tabs 1024 on each clip may be utilized by a user torearrange an order of the clips in the queue 1022. An “X” 1026 or othertool may receive user input to remove a specific clip from the queue.The clip queue 1022 may provide links to one or more clips in responseto a user query or in response to action of athletes in real life gamesthat have relevance to a user's fantasy team and/or other interests ofthe user.

A search box 1028 allows a user to type a query including one or moresearch terms, such as an athlete's name, a type of play (e.g.,touchdown, homerun, etc.), key word/tag, fantasy point type or otherfactors. The query may be searched by a search engine that is located onthe client, and searches content already downloaded or known to theclient. Alternatively, the query may be searched by a search engine thatis located remotely, such as on the interleaver 114. The search mayreturn results that are not located on the client, and which may bedownloaded to the client. The results of the search may be orderedaccording to relevance and/or recentness, or other factors. In someexamples, the user indicates factors used to order the search results.

A number of tools may be provided by the user interface 1000. In theexample of FIG. 10, a half-speed or slow tool 1030 allows a user to slowthe playback of a clip. A replay tool 1032 allows the user to replay anentire clip, such as a clip currently in playback mode. A rewind tool1034 allows the user to play video of a clip in reverse direction. Apause tool 1036 allows the user to stop play of a clip. A fast forwardtool 1038 allows the user to play a clip in fast motion (e.g., to playthe clip at double speed). A full screen tool 1040 allows the user toplay a clip using the full screen of a device. Frequency, the playbackmay orient the clip to play in “landscape” mode, which more nearlyapproximates broadcast and cable TV.

FIG. 11 is a schematic diagram of an example user interface 1100 thatpresents fantasy sports scores and other fantasy sports information to auser. In the example shown, the user interface 1100 may be displayed ona client device, such as the client devices 118(1) through 118(N) ofFIG. 1. In the example of FIG. 11, a Fantasy Scores tab 1102 has beenselected by a user, thereby invoking the user interface 1100 from amonga plurality of other user interfaces, each of which may be associatedwith tabs or other user interface tools.

In the example shown, the user may select This Week's Games 1104 to showfantasy games to be played in the current week (which may be based onreal-life games also played in the current week). In the example of FIG.4, the user may swipe This Week's Games 1104 left or right to revealprior or future games, respectively. The week's games (e.g., This Week'sGames 1104) may be divided to show In Progress Games 1106 and ScheduledGames 1108. In the example shown, In Progress Games 1106 may includeseveral fantasy games in which the user is involved, including one ormore games from each of one or more sports, including car racing 1110(e.g., Shock Racing—Brickyard 400), baseball 1112 (The Shredders vs.Green Guys) and football 1114 (Dragons vs. Lightning). Later in theweek, the user will be involved in the fantasy basketball game 1116involving the fantasy teams Sasquatch and Yeti. If the user scrolls down(e.g., with a swipe of a finger) on the user interface 1100, it may berevealed that scheduled games also include fantasy games based on othersports, such as soccer, which may be similarly shown by the userinterface. Any of the This Week's Games 1104 (e.g., Dragons vs.Lightning) may be selected and expanded to view a detailed scoringreport, such as seen in the example of FIG. 4.

The user interface 1100 may provide a League Play icon 1118, which mayreconfigure the user interface to show a plurality of fantasy leagues(if applicable) in which the user is active and allows the user to viewscores of other fantasy games in the user's fantasy league(s). Thus, theuser may be active in one or more fantasy football, baseball, carracing, basketball, soccer or other sports leagues, which would bedisplayed in response to League Play icon 1118. By selecting one of theleagues displayed, the user interface 1100 may display one or more ofpast games, in progress games and scheduled games. By selecting of thegames displayed, the overall score and details of the scoring ofindividual athletes may be displayed.

The user interface 1100 may provide a manage rosters icon 1120, whichmay reconfigure the user interface to show a plurality of fantasy teams(if applicable) of which the user is the owner. Thus, the user may bethe “owner” of one or more fantasy football, baseball, car racing,basketball, soccer or other sports teams, which would be displayed inresponse to Manage Rosters icon 1120.

The Manage Rosters icon 1120 may allow a user to manage rosters of oneor more fantasy teams of which the user is the owner, and to thereby addor remove athletes from the user's fantasy roster(s), field athletes,bench athletes, trade athletes and to otherwise manage the user'sfantasy team(s). The roster or list of athletes of a fantasy team may bemaintained by a provider of the user interface 1100 or another website.Thus, while the website “ClipEngine” (shown at the top of the userinterface 1100) may provide portions of the user interface, otherwebsites may provide a user interface invoke by the Manage Rosters icon1120 that allows the user to manage one or more fantasy teams. Thus, theuser may have teams hosted by one or more websites, which may beaccessed by icon 1120.

A Refresh icon 1122 may be configured to refresh any displayedinformation, such as rosters of athletes, scores of athletes, scores offantasy or real teams, etc. Alternatively, such information may beupdated or refreshed automatically by the user interface 1100.

In the example shown in FIG. 11, the user has selected the football game1114 between the Dragons and the Lightning. As a result, the display hasexpanded to show the fielded athletes. The user may click on a link 1124to reveal benched athletes, i.e., athletes on the user's team but notfielded for play and eligible to earn points for the user. In theexample shown, a projected score column 1126 shows a projected and/orpredicted score 1128 for each athlete in column. The athletes may beassociated with positions 1130 (e.g., quarterback, pitcher, driver,etc.). An actual score column 1132 shows an actual number of fantasypoints that each athlete has scored at this point in play.

The projected score 1128 may be displayed for each of the athletesbefore and/or during actual play of the real-life game(s). The score maybe based at least in part on past or expected performance of eachathlete in list 1126. Before real-life play begins, the projected scoresfor each athlete may be totaled, to result in an original projectedscore 1134 or projected score of the user's fantasy team. In the exampleshown the Dragons have an original projected score of 208 points.Similarly, the Lightning have an original projected score of 217.Accordingly, based on a projection by one or more experts orstatisticians indicates that the projected or predicted end game scoreof the Dragons vs. Lightning fantasy football game will be 208 to 217.

In some examples, an athlete's name, the athlete's actual score, orother area may be a clickable link, allowing a user request and view thesequence of plays (e.g., as a list or as sequential video clips) thatresulted in the point total. Thus, a user may review the plays thatresulted in fantasy point scores for the user's (or other) fantasy team.

After real-life play begins, a current actual score of fantasy points1132 is shown for each athlete, resulting in a current actual team scoreof fantasy points 1136 for the user's fantasy team. Thus, as real-lifeplay develops, athletes will score fantasy points that are tabulated atcolumn 1132 and totaled in the summation 1136. Similarly, current actualscores for athletes on a fantasy team of the user's opponent aredisplayed. In the example shown, the listing of the listing of thefootball game 1114 also shows the current actual score of the fantasyfootball game.

As real-life play develops, athletes score fantasy points as a result oftheir efforts in their respective games. Accordingly, the listing ofactual athlete fantasy point scores 1132 may be updated as playdevelops. Also, as some athletes have above and below average games, theoriginally projected score listing 1126 may become a poor estimate fortheir actual fantasy points scored. Accordingly, the projected athletefantasy point score column 426 may be updated in real time as playdevelops. Thus, while projected fantasy point scores for each athletemay have appeared reasonable prior to play, as real-life games unfold,the projection of fantasy point scores may change.

Updating the projected total of fantasy points for each athlete, and foreach team, aids in allowing team owners to assess if they are winning orlosing a fantasy game. In an example, if one fantasy team owner has moreathletes playing in early Sunday NFL games, that team may appear to bewining, while the opposing team, having more athletes scheduled to playin later games, is actually in a better position.

Accordingly, each minute that passes during regulation time wherein anathlete does not score a fantasy point makes it more likely that theathlete's final fantasy point score will be similar to a current fantasypoint total. In contrast, the more fantasy points that a athlete scoresearly in the game may make it more likely that a final score will behigh. An athlete's fantasy point score may be four times the athlete'sscore at the end of the first quarter, twice the halftime total, and oneand a third the total at the end of three quarters of play. Any of theseestimates, which in some examples may be updated with greatergranularity (e.g., on a minute by minute basis) may prove to be moreaccurate than an estimate that does not take into consideration playduring the game.

In one specific example, before real-life play started, the athletePayton Manning was projected to score 45 fantasy points. However, theprojected fantasy point score for Payton Manning was reduced as the gamewas played and it appeared unlikely he would score 45 fantasy points.Ultimately, the projection was reduced to 40 points as the game drew toa close because Manning's point total was 40 points at that time.

In another specific example, the wide receiver Moss was originallyprojected to receive 17 fantasy points, but has already scored 22 pointsin an on-going game. Accordingly, the revised projected score for Mossis 31 fantasy points. This figure is more accurate, in view of thepoints already scored.

In another specific example, the running back Thompson was originallyprojected to receive 15 fantasy points. However, failure to scorefantasy points in earlier parts of the actual game have resulted in areduction of his projected fantasy point score to 10.

In another specific example, the game involving tight end Gonzalez hasnot yet begun, and his fantasy point projection remains unchanged.

In another specific example, the wide or tight end Holmes was projectedto score 14 fantasy points, and his score of 11 fantasy points during aportion of his game may result in reaffirmation of the original 14 pointestimate.

Thus, as real-life games are played, the projected totals of eachathlete's fantasy point score may be changed in a manner that considersfantasy points scored in the game and time remaining in the game.

Once a game is final, an athlete's projected fantasy score may bestruck-though or removed, and replaced with the athlete's actual fantasyscore in the game, thereby increasing the accuracy of the currentprojected fantasy score for the user's fantasy team.

The “Message Opponent” field 1138 allows the user to send a message toan opponent including text, audio, images, video, and/or an attachedfile. Thus, the Message Opponent field 1138 may be used for two-waytext, audio, audio/video communication with opponents in a particulargame or the user's league.

FIG. 12 is a schematic diagram of an example user interface 1200 thatallows a user to manage and select content to be provided to the user.In the example shown, the user interface 1200 may be presented to a userby a central office or the interleaver service 114 (e.g., as seen inFIG. 1) to obtain subscription information from users, i.e., forallowing users to select, request and/or indicate desired contentsources. In the context of the examples of FIGS. 1-3, the user interface1200 may be configured to designate, select, request and/or otherwisemanage custom content, such as a custom content stream 116 from theinterleaver service 114. Using the information received from the userinterface 1200, an interleaver 114 or other central office or server mayaccess or scrape a user's existing fantasy sports accounts to obtainleague, team, athlete, etc., information. In some examples, a user canindicate one or more websites (e.g., Yahoo!) that are hosting a user'sfantasy sports team(s) related to one or more fantasy sports and/orleagues. Additionally, the user may indicate content in addition tofantasy sports clips that the user would like to have in the customcontent provided to the user. Such clips, which may not be associatedwith the gain or loss of fantasy points, may provide entertainment tothe user, such as at times when new and/or previously unseenfantasy-point based content is not currently available. Accordingly, theinterleaver service 114 may provide and/or serve video clips and dataunrelated to fantasy sports teams. The user interface 500 may bedisplayed on a client device, such as the client devices 118(1) through118(N) of FIG. 1.

The interleaver service 114 or other central office and/or website maysupplement existing fantasy sports outlets (e.g., Yahoo! or ESPN, etc.),or may include an integrated fantasy sports platform that may provideknown fantasy information to users in addition to providing theinnovations described herein. The user interface 500 may provide theuser with a means to access the integrated fantasy sports platform aswell as a means to access other fantasy sports platforms available tousers. Accordingly, users can participate in multiple fantasy sportsplatforms, either using present technology or augmented by thetechniques described herein.

In the example shown, a Manage Content tab 1202 has been selected by auser, thereby invoking the user interface 1200 from among a plurality ofother user interfaces, each of which may be associated with tabs orother user interface tools. A search box 1204 is displayed, which allowsthe user to search for the user's fantasy teams, leagues, favoriteathletes, content of interest, etc.

A fantasy sports block 1206 may be displayed. The fantasy sports blockmay indicate a plurality of fantasy sports platforms (e.g., Yahoo!,ESPN, etc.) that host fantasy sports competitions, leagues, teams, etc.In the example shown, ACME Fantasy Sports is such a host. ACME FantasySports may host the user's fantasy auto racing team, “Shock Racing,” aswell as the user's fantasy baseball team, “The Shredders,” and others ofthe user's fantasy teams in sports including basketball, football (twoteams), etc. The user may add more fantasy accounts to thereby add morefantasy teams. Adding a fantasy account may involve providing the userinterface with a fantasy sports provider, a user name and password to anaccount. Using this information, the interleaver service 114 or otherserver or provider may access the account and copy or scrape theinformation within the account. Such information, including leagueinformation, team name, athletes, etc., may be used to provide the userwith appropriate clips that correspond with the user's fantasy team. Byadding all of the user's fantasy sports accounts with differentproviders and/or by indicating the user's fantasy team(s), the userprovides the user interface 1200 with information that assists theinterleaver 114 to provide the user with custom content appropriate tothe user. The block 1206 may show only the fantasy sports in which theuser is participating or which users commonly participate, and otherfantasy sports and/or other providers may be added to block 1206, suchas by operation of the search box 1204. Thus, the user may have, or wantto add, account or team information to one or more of the other fantasysports platforms, such as CBS Fantasy Sports, ESPN Fantasy Sports, etc.

Custom content may be provided to the user based not only on the user'sfantasy team(s), but on other topics of interest to the user. Suchcontent may be provided as desired, such as between clips that includefantasy point information of interest to the user. Topics block 1208 inthe user interface 1200 shows example or representative categories ofinformation that the user may want to select. In the example shown, theuser has selected the Seattle Seahawks and athlete Payton Manner. Thus,Topics block 1208 allows the user to select content from among a verybroad range of topics. In the example of user interface 1200, the usermay select content from such diverse topics as entertainment (e.g.,popular culture), events (e.g., news), sports and others. Thus, in theexample of FIG. 12, the user may receive a wide range of custom content,which may include video clips and other information associated with anumber of fantasy teams, as well as video clips and other informationrelated to the Seattle Seahawks, Payton Manning, etc. Video clips andother content, such as cheerleaders and commentators, may also beselected.

Cheerleaders and commentators may provide video clips which may beinvoked upon a fantasy event (e.g., a touchdown by a particular team) ormay be invoked due to lack of fantasy sport clips during a particularperiod of time. Commentators (e.g., “color” commentators) may beindividuals from the athletic community or other communities, such ascomedy, show business, etc. If the user is less interested in fantasysports than the content provided by such commentators, the user mayselect a number of commentators using the user interface 1200.

A social media block 1210 may allow the user to communicate with others,and to share information and/or clips related to fantasy sports or othercontent, such as content received from the interleaver 114.

A gaming block 1212 may allow users to communicate with gaming websitesand to obtain video clips that are related to wagers made on those sitesof through other venues (e.g., private parties or local bookmakers). Theuser may games the user is wagering on (e.g., “My Bets”), and may enterother information at “Odds,” “events” and “more options.” Thus, while auser associated with fantasy sports may want to see video clips relatedto athletes on the user's fantasy team, a user that is alternatively oradditionally involved in gaming may want to see video clips related togames on which the user has wagered. Thus, the user may see clips thatimpact the scores of games on which bets were placed, which may beinterleaved with fantasy team related clips.

In some examples, the user interface 1200 may also allow a user toselect content sources or providers (e.g., ESPN, NFL Network, ComcastCable, Direct TV, HBO, etc.) from which they want to or are entitled toreceive content (i.e., sources from which the custom content may beassembled). In some examples, certain content sources may be freecontent sources available to all users, while other content sources maybe premium content sources that are available for an additional fee. Insome instances, a user may be entitled to premium content based upon oneor more separate subscriptions to the respective premium content source.

FIG. 13 is a schematic diagram of an example user interface 1300,operable on a client application or device, and configured obtain userpreferences and relative preferences for various types and sources ofcontent to be sent to the user. In the example shown, a Preferences tab1302 has been selected by a user, thereby giving the user a choicebetween a Rank tab 1304, an Equalizer tab 1306 and a Target tab 1308. Inthe example of FIG. 6, the Rank tab 1304 has been selected by a user,thereby invoking the user interface 1300. The Equalizer user interface1400 and the Target user interface 1500 are shown in FIGS. 14 and 15,respectively.

The Rank user interface 1300 allows a user to rank categories ofcontent, to thereby assist the interleaver 114 in prioritizing customcontent to be transmitted to the user. The arrangement of the contenttypes, from higher priority (top of the list) to lower priority (bottomof the list) indicates a priority of the user for the content sent bythe interleaver service 114 or other server or central office. In theexample shown, an “Organize content in order of preference:” block 1310is configured to allow the user to manually arrange a plurality ofcontent types. Thus, the “grip” on the left side of each content type,such as “My active fantasy athletes,” can be used to move a content typeup or down on the priority list.

A number of representative examples of content types are shown. Thefirst content type, “My active fantasy athletes” corresponds to the“fielded” athletes (i.e., athletes not sitting on the fantasy teambench). Thus, the user's highest priority may be the fielded athletes ofthe user's fantasy team. A second content type, “My benched fantasyathletes,” may be a second priority. Alternatively, the user may want toelevate “Current opponent's fantasy athletes” to the second position.The content type “Athletes on other teams in my fantasy league(s)”allows the user to view clips of athletes that are probably of very highcaliber and which are of general interest. The user may also want tomanually position “Cheerleaders” and “Analyst commentary” as desired.These content types may include video clips that do not directly relateto the scoring of fantasy points. However, the cheerleader celebrationmay follow a play that resulted in fantasy points, and the analystcommentary may describe that play. The content type “My socialconnections” may govern the priority of content that is provided bypeople or organizations to which the user is connected, such as byTwitter, Facebook or other social services. The user may want to elevatethe importance of the content type “My favorite athletes,” even thoughthese athletes may be on other user's fantasy teams. Thus, the user mayenjoy video clips of favorite athletes, even though their exploits donot result in fantasy point gains. Similarly, the user may enjoyhighlight video clips of the user's favorite real life teams, even whenthey have not fantasy point relevance. The content types shown arerepresentative, and other content sources may be added, substituted orutilized, or provided by the user, the user's league, the interleaverservice or other entity.

A block 1312 labeled “Organize the following in order of importance:”allows the user to apply a second hierarchy of inputs to theprioritization of content sent to the user. A number of representativeexample inputs are shown. In some examples, “Relevance to my contentpreferences” allows the user to balance what is important to the user(e.g., as discussed with respect to block 614) with other factors, suchas the second factor, “Overall popularity among users.” Thus, the usermay balance the incoming content to include content that may beimportant to the user's friends. The user may rank “Freshness” higher orlower, depending on preferences. For example, a clip showing animportant play may be several hours old, when the user begins to viewthe user interface 400. Whether such a clip is provided to the user maybe based at least in part on how highly the “Freshness” factor is rated,and also on a number of alternative clips available. The “Trending now”factor is another opportunity for the user to determine if the userwants to see more of what is important to the user's fantasy andfavorite teams, or if the user wants to branch out and see content ofinterest to others. Similarly, the factor “Relevance to my socialconnections” allows the user to adjust how much time is to be spentwatching what is important to others.

FIG. 14 is a schematic diagram of an example user interface 1400,operable on a client application or device, and configured obtain userpreferences and relative preferences for various types and sources ofcontent to be sent to the user. In the example shown, a Preferences tab1302 has been selected by a user, thereby giving the user a choicebetween a Rank tab 1304, an Equalizer tab 1306 and a Target tab 1308. Inthe example of FIG. 7, the Equalizer tab 1306 has been selected by auser, thereby invoking the user interface 1400.

A block 1402 may display a plurality of vertical bars of differentheight. The height of each bar represents a priority assigned by theuser of a labeled content type relative to other labeled content types.The user may adjust the height of each bar, such as by tapping on it,pulling it or otherwise manipulating it, such as with manual or keypadinput. The tallest bar, having the highest priority assigned by theuser, represents “My Athletes.” Accordingly, content related to athleteson the user's fantasy team is given the highest priority when formingthe custom content 116 (e.g., FIGS. 1 and 2) for the user. Thus, ifthere is an excess of content available or an issue of what content tosend first, content related to athletes on the user's fantasy team isgiven priority.

Secondary priority is given to content related to “My Bench,” i.e., theathletes on the bench of the user's fantasy team. Priority may also begiven to “Comments,” which may include content generated by others, suchas those in the user's fantasy league, or may include color commentaryfrom pundits with discussion of athletes in video clips for whichfantasy points were awarded points. Alternatively, the pundits may havecomments that are related to interests of the user, which may or may notbe related to video clips for which fantasy points were awarded.

Other topics may be displayed, such as “Other League,” which allows auser with two fantasy teams in two fantasy leagues to assign priority tocontent related to the second team. “Favorite Topics” allows the user toassign a priority to topics of interest vs. the priority given to othertopic expressly listed. “Opponent Athletes” allows the user to assign arelative priority to content related to athletes on a fantasy team of anopponent (e.g., someone within the user's fantasy league).

“Social Media” allows the user to assign a priority to content generatedby social media. For example, friends and owners of other fantasy teamsmay communicate with each other using postings to social media. Suchpostings may be used to generate content that becomes interwoven intothe custom content 116 of the user. While some users may feel that suchcomments distract from video clips of athletes, other users mayparticipate in fantasy sports simply as a tool to more frequentlyinteract with their friends and may give higher priority to this contentsource.

“Wagered Teams” provides the user with the opportunity to increase thecontent related to certain games, teams or athletes on whom the user hasmade bets. Thus, the user may utilize the interleaver 108 to generatecustom content related to the user's gambling.

An “Add more content” link 1404 allows the user to add more contenttypes into the content bar graph. By clicking the link 1404, the usermay be presented with a popup interface which allows the user to selectone or more content types (e.g., by check boxes or other user interfacetechnique). In on example, by selecting “Add more content” link 1404,the user can add equalizer columns for additional content sources ortopics and may specify a preference rating (number of bars) for eachcolumn.

If the user adds a number of additional content types, the field maybecome crowded. The “Group/Ungroup content” link 1406 allows the user toset preferences for groups of related content (e.g., Favorite Athletes,Favorite Teams, and Favorite Plays may all be grouped together as“Favorite Topics”). Alternatively, the user could ungroup the “FavoriteTopics” to provide separate preference ratings for each of FavoriteAthletes, Favorite Teams, Favorite Plays, or any other favorite topics.

A “Relevance vs. Freshness” slider or device 1408 allows the user tomove a slider or other user interface device to provide a relativepriority between older but otherwise more relevant content vs. fresherbut less relevant content. This helps the interleaver service 108 decidebetween sending the user a video clip of a favorite athlete on afavorite team scoring a touchdown earlier in time (e.g., before the useractivated the user's device) or a less favorite athlete who just scoreda touchdown.

FIG. 15 is a schematic diagram of a third example user interface 1500,operable on a client application or device, and configured obtain userpreferences and relative preferences for various types and sources ofcontent to be sent to the user. In the example shown, a Preferences tab1302 has been selected by a user, thereby giving the user a choicebetween a Rank tab 1304, an Equalizer tab 1306 and a Target tab 1308. Inthe example of FIG. 8, the Target tab 1308 has been selected by a user,thereby invoking the user interface 1500.

A target 1502 may include two or more topics 1504-1510, which may belabeled outside the target. In the example of FIG. 15, four topics areshown: Fantasy Sports, Analyst Commentary, Social Media andCheerleaders. By moving the crosshairs 1512 to different locationswithin the target, the relative contributions of the four topics in thecustom content stream 116 (e.g., FIGS. 1 and 2) may be controlled by theuser. Thus, the user may want to emphasize Fantasy Sports, andassociated video clips related to the user's fantasy sports team(s). Theuser may also want to emphasize Analyst Commentary. The user may want toreplace one of the topics with a different topic, and may do so bytechniques such as press-and-hold the topic to be removed, and selectionof a new topic in a drop-down menu that results. Accordingly, the usermay exercise control over the content and nature of the custom contentstream 116 sent to the user.

The gray numbers 1514 close to the crosshairs 1512 may show minutes orhours of each desired content type. Alternatively, the gray numbers 1514may show relative percentages (which may total up to 100%) of the customcontent stream that is related to each of the four topics. If the totalof the relative percentages does not total 100%, then other types ofcontent may be provided by the interleaver service 108.

A relevance vs. freshness slider or device 1516 may be configured asseen in FIG. 14.

Example Processes for Providing Custom Content

FIGS. 16-19 are flowcharts illustrating example processes 1600, 1700,1800, and 1900 for providing custom content. For ease of understanding,the processes of FIGS. 16-19 are described in the context of theinterleaver service 114, the segment 500A, and the content feed 600.However, the processes are not limited to performance with theseexamples and may be performed using other systems and devices and othercontent to generate other segments. In some examples, the processes1600, 1700, 1800, and 1900 may be performed independently, while inother examples operations of some or all of these processes may be usedtogether, rearranged, combined, and/or modified.

FIG. 16 shows a process 1600, which includes techniques for providingcustom content, with a focus on a segmenting portion of the process. Theprocess 1600 includes, at block 1602, receiving content (e.g., content102) at an interleaver service (e.g., interleaver service 114 or othercustom content providing service) from one or more content sources(e.g., content sources 104). The content may comprise one or more ofvideo, audio, audio/video, text, images, metadata, etc. For instance,the content may be received from television networks, radio stations,websites, social networks, and/or other content sources. In someexamples, the content may include sporting events (e.g., football games,baseball games, basketball games, soccer matches, hockey games, autoraces, boxing matches, or the like). For instance, the interleaverservice may receive multiple concurrent content feeds (e.g., multipleconcurrent sporting events) from multiple different sources (e.g.,multiple different television networks, radio stations, or other contentproviders). In some examples, the received content may includepredefined frames, tracks, chapters, scenes, and/or other segments,while in other examples the content may be received free of predefinedsegments. In some examples, the content may be received as one or morediscrete blocks or chunks of content (e.g., discrete programs or games),while in other examples the content may be received as a continuousongoing feed or stream of content (e.g., a broadcast televisionchannel). The interleaver service may further receive data from one ormore websites or other data sources that host fantasy sports leagues andteams, statistics, analysis, odds. The interleaver service mayadditionally or alternatively receive advertisements (e.g., ads 110)from one or more ad sources (e.g., ad sources 112).

At block 1604, characteristic(s) of the received content are determined.The characteristics may include a content source (e.g., a televisionnetwork, radio station, cable company, satellite television company,website, service, or other content provider), a type of content (e.g.,audio, video, images, text, metadata), or other characteristics of thecontent (e.g., format, compression, resolution). The characteristic(s)of the received content may at least partially dictate how the contentwill be processed by the interleaver service (e.g., the type of video,audio, image, or other processing to be applied).

At block 1606, the content may be reviewed to identify salient events,such as portions of content that depict or describe events resulting infantasy points, desirable commentary, cheerleaders, colorful fans, etc.In examples where the content includes multiple types of content (e.g.,audio, video, images, text, and/or metadata), the different types ofcontent may have different salient portions. For instance, some salientvideo content may not have corresponding audio content and vice versa.Further, in many cases, salient audio portions may not align withsalient video portions, closed captioning, or other metadata.

At block 1608, a segmenting technique may be selected for the contentbased at least in part on characteristics of the content. In someexamples, automated segmentation may be performed. Such segmentation mayrecognize (e.g., by operation of software) the starting and endingpoints of a “play” or other segment of content. Such a system mayrecognize a hike in football, the ball coming into play in basketball orsoccer, a pitch in baseball, a player entering a field of view, aspeaker starting to speak or mentioning a particular athlete by name, anathlete's name included in closed captioning text, etc. In someexamples, multiple segmenting techniques may be applied in parallel orsequentially.

At block 1610, the content may be segmented into multiple salient and/ornon-salient segments. For instance, received content corresponding to atelevision broadcast of a sporting event may be segmented into multiplesalient segments corresponding to portions of the content that arelikely to be interesting to users of the interleaver service, andmultiple non-salient segments that are unlikely to be interesting tousers of the interleaver service. In some examples, salient segments maycomprise segments depicting or describing events that result in awardingor decrementing of fantasy points. In some examples, salient segmentsmay comprise segments depicting or describing events for whichstatistics are maintained by a governing body (e.g., the NationalFootball League, Major League Baseball, the National BasketballAssociation, National Association of Stock Car Racing, NationalCollegiate Athletic Association, etc.). In some examples, salientsegments may include segments depicting and/or describing individualplays, collections of plays, analysis, commentary, cheerleaders,halftime shows, colorful fans, etc. In some examples, non-salientsegments may comprise content that is of little or no interest to usersof the interleaver service, such as, for example, portions of the videoshowing periods of inaction (e.g., rain delays, huddles, timeouts, etc.)or errors or mistakes (e.g., inadvertently recorded video showing theground or the inside of the lens cap for instance, blurred or obscuredimages, scrambled or blank video feeds, etc.). In some examples,non-salient video segments may include advertisements contained in thereceived content. However, in other instances, advertisements in thereceived content may be considered salient video segments.

A variety of different techniques may be used separately or incombination to segment the content at block 1610. In some examples, thecontent may be segmented based on the audio, video, and/or metadata ofthe received content. In the illustrated example, at block 1612, audioof the content may be separated from video of the content and/ormetadata of the content. That is, for content having audio and video,the audio track may be stripped from, and/or processed separately from,the video content. For content having audio, video, and metadata, theaudio and metadata may be stripped form, and/or processed separatelyfrom, the video. At block 1614, a video portion of the content may besegmented using one or more video-based segmenting techniques, such asfacial recognition, image or object recognition, text recognition oroptical character recognition, or the like. At block 1616, an audioportion of the content may be segmented using one or more audio-basedsegmenting techniques, such as voice recognition, voice-to-textconversion, voice signature recognition, sound recognition, or patternrecognition. At block 1618, audio and/or video portions of content maybe segmented using metadata-based segmenting techniques, such as byanalyzing metadata including closed captioning, describing breaks invideo, or describing subject matter of video.

In some example, the segmenting may be performed at least in part by oneor more human editors. In that case, the human editors may be personnelof the interleaver service, personnel of the content sources, crowdsource workers, and/or users of the interleaver service.

Once the audio, video, and/or metadata are segmented, the interleaverservice may, at block 1620, align, trim, supplement, and/or adjust aspeed of one or more audio segments and/or video segments and, at block1622, may append one or more audio segments to each video segment. Forinstance, in some examples, an audio segment may be aligned temporallyto begin at a same time as a video segment, to end at a same time as thevideo segment, to be centered with respect to the video segment, or thelike. In some examples, an audio segment may be trimmed (e.g., byremoving a beginning portion, an ending portion, and/or one or moreintermediate portions) to be substantially a same length as a videosegment, or vice versa. In some examples, an audio segment may besupplemented with additional audio content (e.g., a voice over,commentary, analysis, etc.) to arrive at an audio segment havingsubstantially a same length as a video segment, or vice versa. In someexamples, an audio segment may be sped up or slowed down so as to besubstantially a same length as a video segment, or vice versa.

In other examples, the content may be segmented without separating theaudio, video, and/or metadata portions. That is, audio, video, andmetadata of the received content may be segmented concurrently with thecontent intact. In that case, the received content may be segmentedbased on any one or a combination of the segmenting techniques describedfor audio, video, and/or metadata.

Referring back to FIG. 16, at block 1624, the non-salient segments maybe discarded, ignored, or tagged as being non-salient. At block 1626,the salient segments may be tagged and stored in memory of or accessibleto the interleaver service (e.g., stored as tagged segments 312 in thecontent store 314).

At block 1628, the interleaver service may compare the tagged segmentsto one or more subscriber profiles corresponding to users of theinterleaver service to determine subscriber profiles to which thevarious tagged segments are relevant. In some examples, the subscriberprofiles include data from the one or more data sources including, amongother things, fantasy sports information for the respective users of theinterleaver service. The interleaver service may then serve the segmentsto one or more client devices of the users of the respective subscriberprofiles to which the segments were determined to be relevant (e.g.,based on the fantasy sports information or other information containedin the subscriber profile of each user). In this way, each user receivesa custom content feed that includes segments that are relevant to theparticular user (e.g., custom content related to the user's fantasysports teams/leagues).

FIG. 17 is a flowchart illustrating an example process 1700 of providingcustom content, with a focus on a tagging portion of the process. Theprocess 1700 includes, at block 1702, receiving one or more contentsegments at an interleaver service (e.g., interleaver service 114 orother custom content providing service). The content segments may bereceived from one or more external content sources (e.g., contentsources 104) or from one or more internal sources (e.g., segmentingmodule 308).

At block 1704, one or more tags may be identified for each contentsegment and the content segments may be tagged with the one or moretags. In some examples, the tagging may be performed by a tagging moduleof the interleaver service (e.g., tagging module 310). However, in otherexamples, the tagging may be performed by other services internal orexternal to the interleaver service. For instance, in some examples,content may be received from an external content source in an alreadysegmented and/or tagged form. In either case, the identification of thetags for each segment may be performed by, at block 1706, extracting oneor more tags from the content segment itself and/or by, at block 1708,receiving one or more human input tags. By way of example and notlimitation, extracting tags from the content segments may be performedautomatically or semi-automatically and may include analyzing audio,video, and/or metadata of the content to recognize subject matter (e.g.,people, places, things, events, and/or actions) depicted in the videoand/or described in the audio and/or metadata. In some examples, tagextraction techniques may include video extraction techniques such asfacial recognition (e.g., to identify athletes, coaches, announcers,officials, or other people from a database of known people), image orobject recognition (e.g., to identify objects or object types from adatabase of known objects), and/or text recognition (e.g., opticalcharacter recognition) to identify and determine the meaning of text inthe content. The tag extraction techniques may additionally oralternatively include audio extraction techniques, such asspeech-to-text conversion to identify and determine a meaning of voicecontent, voice signature recognition to identify individuals bycomparison to a database of known voice samples, and/or sound or patternrecognition to identify sounds or sound types by comparison to adatabase of known sounds or patterns. The tag extraction techniques mayadditionally or alternatively include metadata extraction techniques,such as analysis of closed captioning data to identify subject matter(e.g., people, places, things, events, actions, etc.) described in thecontent, a source of the content, a format of the content (e.g., fileformat, resolution, compression, etc.), or the like.

Human input tags may be received from, for example, personnel at orassociated with the sporting event or other subject matter of thecontent, personnel associated with one or more fantasy sports websitesor platforms (e.g., fantasy sports platforms offering fantasy sportsexperiences based on one or more sporting events of the receivedcontent), and/or one or more individual users (e.g., crowd sourceworkers and/or users of the interleaver service).

In some examples, at block 1710, a tag score may be calculated andassigned to some or all of the tags. In some examples, the tag score maybe assigned to each tag regardless of the segments to which it isapplied (i.e., the tag scores may be segment agnostic). In otherexamples, the tag scores for each tag may be dependent upon the segmentsto which the tag is applied (i.e., the tag scores may be segmentspecific). In that case, a tag may have one tag score as applied to afirst segment and may have a second, different tag score as applied to asecond, different segment.

At block 1712, one or more tags may be associated with each segment toidentify the subject matter depicted or described in the respectivesegment. In some examples, associating the tags with segments maycomprise modifying the files corresponding to the content segments toinclude the tag information. In other examples, associating the tagswith segments may comprise creating a separate tag file or indexincluding the tag information along with pointers to the correspondingcontent segments and/or locations of the content segments in memory. Ineither case, once the tags have been associated, the segments may bestored in memory accessible to the interleaver service (e.g., they maybe stored as tagged segments 312 in content store 314).

At 1714, the interleaver service may compare the tags with one or moresubscriber profiles to identify tags that are relevant to the subscriberprofile(s). In some examples, the comparison may be initiated by theinterleaver service (e.g., periodically or upon receipt of one or morenew content segments) or may be initiated in response to receipt of arequest from a client device of a user (e.g., a client device 118). Atblock 1716, based at least in part on the comparison, the interleaverservice may identify one or more subscribe profiles to which one or morecontent segments are applicable (or vice versa).

At block 1718, the interleaver service (or other service) may determinethat a subscriber profile to which a content segment is applicable isentitled to fantasy points for one or more events depicted or describedin the content segment. Additionally, at block 1720, the interleaverservice may determine a number of fantasy points the user is entitled tofor the events depicted in the segment. In the illustrated example, thisfantasy point determinations of operations 1718 and 1720 are describedas being made after the segment is determined to be applicable to thesubscriber profile. This approach may be advantageous when differentusers of the interleaver service participate in fantasy sports leaguesprovided by websites or services other than the interleaver service,since in that case different users may be entitled to different fantasypoints for the same segment (e.g., because different fantasysites/platforms apply different scoring metrics and/or fantasycommissioners may set different scoring metrics for each league). Insome implementations, the indication of fantasy points and/or the numberof fantasy points may be calculated by the interleaver service, while inother implementations the indication and number of fantasy points may beobtained from another fantasy sports website or service (e.g., byquerying or scraping the other fantasy sports website). The indicationthat the segment is entitled to fantasy points and/or the fantasy pointtotal to which the user is entitled for the events depicted in thesegment may be associated with the segment when the segment is placed inthe user's queue to be transmitted to a client device of the user.

In other examples, fantasy point information may be assigned to eachsegment without regard to which subscriber profiles it may be applicableto. In that case, the fact that a segment depicts an event resulting infantasy points and/or a fantasy point total attributable to the segmentmay be associated with the segment (e.g., as one or more tags). Thisapproach may be particularly advantageous when the fantasy points aredetermined and/or assigned by the interleaver service (e.g., if theinterleaver service administers the fantasy sports league/team).

At 1722, the interleaver service may transmit or otherwise cause thecontent segment(s) to be served to client device(s) of the user. Theinterleaver service may, at block 1724, additionally transmit orotherwise cause a notification to be sent to the client device(s) of theuser indicating that the user is entitled to fantasy points, and/or anumber of fantasy points awarded to the user, for an event depicted ordescribed in the content segment. In this way, the user is provided witha custom content feed comprising content segments that are relevant tothe user (e.g., based upon information about the user's fantasy sportsaccounts stored in the user's subscriber profile).

FIG. 18 is a flowchart illustrating an example process 1800 of providingcustom content, with a focus on a subscriber profile portion of theprocess. The process 1800 includes, at block 1802, receiving a requestat an interleaver service (e.g., interleaver service 114 or other customcontent provider service) to generate a subscriber profile for a user.The interleaver service may also receive account information (e.g.,login credentials) for one or more other services (e.g., fantasy sportsservices or websites, social media sites, gaming sites, or the like) ofwhich the user is a member.

At block 1804, the interleaver service (e.g., via profile manager 318)may access one or more fantasy sports accounts (or other accounts) ofthe user. In some examples, accessing the one or more accounts of theuser may comprise, at block 1806, receiving and using a login credentialto access the account(s), and/or at block 1808, calling one or moreapplication programming interfaces (APIs) to access the account(s).

At block 1806, the interleaver service may obtain fantasy sportsinformation (e.g., fantasy league information, fantasy team information,fantasy roster information, etc.) or other information (e.g., socialnetwork information, gaming information, etc.) from the account(s). Insome implementations, it may be necessary to access the account(s) ofthe user to obtain the fantasy sports information or other information.However, in other examples, it may be possible to obtain some or all ofthe information without the need to access the user's account.

At block 1812, the interleaver service may generate a subscriber profile(e.g., subscriber profile 322) for the user. In some examples, thesubscriber profile may include the account information of the one ormore other services of which the user is a member. In some examples,generating the subscriber profile may include, at block 1814, definingone or more subscriptions to topics of interest to a user (e.g.,athletes, teams, etc.) associated with the fantasy sports account(s) ofthe user. In some examples, generating the subscriber profile mayadditionally or alternatively include, at block 1816, defining one ormore subscriptions to other topics of interest to the user (e.g.,favorite athletes, favorite teams, favorite announcers, favoritecheerleaders, home location, etc.). The interleaver service (e.g., viaprofile manager 318) may then determine tags relevant to thesubscriptions. The tags may correspond to, for example, specific people(e.g., athletes, announcers, cheerleaders, etc.), places (e.g., cities,stadiums, etc.), and/or things (e.g., teams, cars, etc.) correspondingto the subscriptions defined in blocks 1814 and 1816.

Generating the subscriber profile may additionally include, at block1818, defining one or more preferences associated with the interleaverservice. The preferences may include, for example, the types and amountsof different types of content that the user wishes to receive in his orher custom content stream. Thus, the preferences may indicate relativepriorities of certain types of content. In some examples, thepreferences may include weights associated with the subscriptions (or toindividual tags associated with the subscriptions). The weights may bedetermined and/or assigned by, for example, weighting module 320responsive to preferences provided by the user explicitly (e.g., usingthe preferences tab in the UIs shown in FIGS. 13-15) or implicitly(e.g., by prior user actions, other memberships, frequency of referenceto particular content of interest, frequency of comment on variouscontent of interest, etc.).

At block 1820, the interleaver service (e.g., subscription manager 318)may store the subscriber profile in memory of or accessible to theinterleaver service (e.g., subscription store 324).

At block 1822, the interleaver service may determine one or more contentsegments (e.g., one or more tagged content segments 312 in the contentstore 314) that are applicable to the user's subscriber profile based atleast in part on the subscriptions and associated tags described by thesubscribe profile. In some examples, the interleaver service mayadditionally take into account the weights and other user preferencesdefined in the subscriber profile when determining content segments thatare applicable to the user's subscriber profile.

At block 1824, the interleaver service may determine whether the user isentitled to fantasy points for an event depicted and/or described in theone or more determined content segments and, if so, how many. Thefantasy point determination may be made based on calculations of theinterleaver service and/or based information obtained from one or moreother fantasy sports services.

At block 1826, the interleaver service may transmit or otherwise causethe one or more content segments to be transmitted to a client device(e.g., client device 118) of the user along with a notification and/ornumber of fantasy points to which the user is entitled for eventsdepicted in the content segment(s). In this way, the interleaver serviceprovides streams of content customized for each user based at least inpart on their respective fantasy sports information.

FIG. 19 is a flowchart illustrating an example process 1900 of providingcustom content, with a focus on an interleaving portion of the process.The process 1900 includes, at block 1902, topics of interest to one ormore users are determined. In some examples, the topics of interest tothe user may be determined from, or based on, the users fantasy sportsaccount. Such a fantasy sports account may be based on, or provided by,a website that is fantasy sports platform or other fantasy sportsapplication. A website that is a fantasy sports platform may contain theaccounts of large numbers of users. Each user's account may beassociated with one or more of the user's teams, each of which may bewithin a league and may be associated an underlying real life sport.Each user may access the user's one or more account, such as by use of ausemame and password. The account may include information about the userand the user's fantasy sports team. The account may provide access tothe roster(s) of the user's fantasy team(s) and the rosters of theuser's opponent's teams in one or more leagues. In some examples, any ofthe athletes on any of the user's fantasy team(s), the user's opponent'sfantasy team(s), the other teams in the user's one or more leagues,etc., may be of interest to the user.

In the context of the example of FIG. 1, the interleaver service 114 mayuse the user's usemame and password, and log into the user's account onone or more fantasy sports platform websites. Having accessed the user'saccount, the interleaver may determine the identities of athletes on theuser's fantasy team(s) and athletes on other teams of interest to theuser. Any content related to such athletes would be of interest to theuser, particularly when the content included video and/or audiodepictions of the athletes performing in a manner that resulted infantasy points for the user, the user's opponents, the user's friends,etc.

At block 1904, a subscriber profile of the user may be accessed, tothereby access one or more topics of interest to the user. In thecontext of the example of FIG. 1 or 2, the interleaver service 114 mayaccess the user's subscriber profile, which may be located at a datasource 108. Table 900 of FIG. 9 illustrates example content of asubscriber profile 322. The user profile 322 may include informationincluding athlete identification (roster information) of all of theuser's teams and opponents. The subscriber profile 322 may include alarge amount of additional data, such as the user's favorite athletes,favorite teams, favorite types of plays, favorite sports, etc. The userprofile may also have marketing information, which may assist the userto obtain more relevant commercial messaging. All of this informationmay be used to identify topics of interest, such as particular videocontent and/or clips, when they become available.

At block 1906, content segments relevant to the topics of interest tothe user may be identified. In the context of the examples of FIGS. 1and 2, the interleaver service 114 may process information includingtagged video segments and athlete rosters of each user's fantasy teamand league, and from such processing determine which tagged videosegments are relevant to each user. In some examples, the interleaveridentifies content segments that are relevant to each user because theidentified content segments depict athletes on the user's fantasyteam(s) performing in a manner that awards the user's fantasy team withfantasy points.

At block 1908, content segment(s) are matched to a user and the user'ssubscriber profile based. The matching may be based on a correlationbetween the tag(s) or annotations associated with (or part of) eachcontent segment and topics to which the subscriber profiles havesubscription. In an example, a content segment may have tags orannotations indicating that certain athlete(s) were in a particularcontent segment and what they accomplished. Additionally, the tags mayindicate that the performance(s) resulted in positive or negativefantasy points. The user's subscriber profile may indicate that the useris probably interested in the content of the content segment for one ormore reasons. For example, the user's fantasy team may include one ormore athletes depicted in the content segment, or the content segmentmay depict one or more of the user's favorite athletes and/or teams.Accordingly, the interleaver performs a matching process by which one ormore (or each) content segment is matched or not matched to one or moreusers. Such matching may indicate that it is appropriate, depending onpriority, to send the content segment to the user.

At block 1910, content segment(s) may be prioritized based at least inpart on relevance to the topics of interest to the user. In particular,video clips depicting athletes' performances resulting in fantasy pointsmay be prioritized according to importance to the user. In someexamples, athletes on the user's fantasy team and favorite athletes ofthe user may be given higher priority, while athletes unknown to theuser and/or not on the user's fantasy team(s) may be given lowerpriority. The prioritization may be based on explicit and/or implicitpreferences of the user. In some examples, the interleaver service 114may apply an algorithm to determine the strength of a match between acontent segment and a user's subscriber profile. Explicit preferencesmay include the user's identified fantasy team roster, the user'sidentified favorite athletes, real life teams, etc. Implicit preferencesmay also be used, but may be given lower priority. If the user is knownto live in the Northwest, an implicit preference for athletes playingfor the Seattle Seahawks may be assumed. In other examples, the user'sage may be used to prioritize various content segments produced byvarious color commentators. The prioritization process may considerfactors such as how well the content segment matches the user'ssubscriber profile, how many content segments are currently in theuser's segment queue, how rapidly the user is consuming content, whetherthe priority of content segments in the user's segment queue is high orlow, and other factors.

At block 1912, one or more content segments may be added to a queue tobe served to the client device. The content segments may be added in anorder indicated by the priority established at block 1910. The contentsegments themselves may be placed in the queue, or links to the contentsegments may be put in the queue. If links are put in the queue, theuser may click the received link to download the actual content segment.

At block 1914, fantasy point info may be appended to content segment(s)in the segment queue. In some examples, athletes' accomplishments may beassociated with content segments before actual fantasy point informationbecomes available. Thus, the content may be segmented and annotated torecognize different athletes' performances before an exact fantasy pointaward associated with a particular user's league and/or fantasy sportsplatform is known. However, in many instances, such fantasy pointinformation may be obtained from the fantasy sports platform website(such as by logging in with the user's username and password) or byother means. Once obtained, the fantasy point information may beappended or otherwise associated with a content segment. In someexamples, fantasy point info may be appended by adding a tag tosegment(s) to be displayed by the client device or embedding in thesegment (e.g., text or audio added to the content of the segment).Fantasy point info may include a notification that the user is entitledto fantasy points for an event depicted in the content segment and/or anumber of fantasy points to which the user is entitled for the eventdepicted in the content segment. If the exact fantasy point total is notknown when the content segment is added to the segment queue, it may beadded with it becomes available.

At block 1916, a request to reorder the segment queue may be received.In some examples, the interleaver service 114 may receive the request,which may have been sent by the client device 118 of the user. The usermay have seen an indication of a preferred content segment that was notfirst the segment queue, and therefore requested the reordering. Atblock 1918, the content segments in the content queue may be reordered.The reordering may be performed by the interleaver service 114.

At block 1920, one or more ads may be interleaved between contentsegments. In the context of the example of FIG. 2, the ads AD1, AD2 andADP have been added to the custom content 116(1). Thus, the customcontent may be a mixture of, at least, content segments and ads.

At block 1922, content segments(s), ads and/or data including anotification and/or number of fantasy points may be served to clientdevice(s). In some examples, the interleaver service 114 may cause orperform the serving.

Example Processes for Providing Estimated Fantasy Scores

FIG. 20 shows example techniques 2000 for providing an estimated finalfantasy score, for one or more athletes, one or more teams, and/or oneor more games. The estimated scores may be revised as the underlyingreal-life games are played, and as the actual fantasy point scores ofone or more athletes becomes easier to estimate. In some examples, asthe fantasy point totals for different athletes become known, thosetotals may be used to replace previous estimates that were used, therebycreating a more accurate fantasy point total for a fantasy team. In asecond example, as fantasy point information for each athlete becomesknown as games in which each athlete is playing progress, the fantasypoint estimate for each athlete may more accurately be predicted. Thesemore accurate predictions may be used to more accurately predict fantasyteam point totals.

At block 2002, an estimated score of a fantasy game may be sent orcaused to be sent (e.g., by a server) to a user interface (e.g.,operable on a client device). The estimated score may be based at leastin part on previous performance of at least some athletes participatingin the fantasy sports game.

At block 2004, a fraction of a performance (e.g., one quarter or onehalf of a game) by an athlete may be extrapolated to replace anestimated score of the athlete. At block 2006, the fraction used may beupdated (e.g., from one quarter to two and then three quarters)periodically or occasionally as the game involving the athleteprogresses.

At block 2008, estimated fantasy point scores may be iterativelyreplaced, based in part on actual fantasy point scores, for each athleteand/or for a fantasy team. Such iterative replacements refine anestimated fantasy point game score of each athlete, and collectively,the fantasy team. In some examples, each time an athlete scores afantasy point, spends a period of time without scoring a fantasy point,or ends participation in a real life game, the fantasy points earned bythe athlete may be used in another iteration of an estimate of the scoreof the athlete and a fantasy game. Thus, as each time an athlete'sactual fantasy point score becomes known, that score may be used to makea user's fantasy team prediction more accurate.

At block 2010, estimated scores of athletes used to calculate theestimated score of a fantasy team may be iteratively or repeatedlyreplaced, as actual scores of the athletes become available and/or eachtime an athlete ends participation in the fantasy game.

At block 2012, the refinement of the estimated score may be sent fordisplay on the user interface.

At block 2014, a final score of the fantasy sports game is sent, uponconclusion of participation of all athletes of the fantasy sports game.

FIG. 21 shows example techniques 2100 for providing estimated fantasyscores, for one or more athletes and/or one or more teams, which may berevised as real-life games are played.

At block 2102, an estimated score for a fantasy game may be sent to auser interface. In the context of the example of FIG. 1, the interleaver114 may send the estimated score within custom content 116 to a clientdevice 118.

At block 2104, the estimated score of the fantasy game is transitionedinto a real score of the fantasy game. The transitioning may be based onincreasingly better estimates of a number of fantasy points that will bescored by each of a plurality of athletes on a user's fantasy team.

At block 2106, an estimated score of an athlete may be updated based atleast in part on a number of fantasy points scored by an athlete or afailure of the athlete to score fantasy points within a portion of agame involving the athlete. At block 2108, the estimated score of thefantasy game may be updated based in part on the updated estimated scoreof the athlete.

At block 2110, an estimated score of an athlete may be updated based onat least one fantasy point earned by the athlete. At block 2112, theestimated score of the fantasy game may be updated, based at least inpart on the updated estimated score of the athlete.

At block 2114, the estimated score of the fantasy game may be changed asthe fantasy game progresses as indicated by results of a plurality ofathletes in a plurality of real games.

At block 2116, a final score of the fantasy sports game may be sent to aclient and/or user interface, upon conclusion of participation of allathletes of the fantasy sports game.

FIG. 22 shows example techniques 2200 for providing estimated fantasyscores, for one or more athletes and/or one or more teams, which may berevised as real-life games are played.

At block 2202, an estimated score of a fantasy game may be sent to aclient device and/or displayed on a user interface.

At block 2204, a listing of teams in a fantasy league, within which thefantasy game was played, may be sent to a client device and/or displayedon a user interface.

At block 2206, an updated score, which may be based on performance ofone or more athletes, may be display, for each of one or more of theteams in the listing.

At block 2208, a plurality of updates to the estimated score may bedisplayed, as athletes perform in a plurality of real life games.

At block 2210, estimated score information may be replaced with actualscore information as the actual fantasy score information becomesavailable.

At block 2212, a final score of the fantasy sports game may be sent to aclient device and/or displayed on a user interface, upon conclusion ofparticipation of all athletes of the fantasy sports game.

ADDITIONAL EXAMPLES

The following paragraphs describe additional examples that relate toproviding custom content to users. Each of these additional examples maybe implemented alone or in combination with any one or more others ofthe other examples described herein. Some of these additional examplesare described in isolation (i.e., without reference to the foregoingdiscussion). However, unless specifically described to the contrary, anyof these additional examples may be implemented using or in combinationwith the examples and implementations described above.

Overview of an Example Server in Push Mode

In some examples, server(s) receive content, such as audio/video feeds(hereinafter, “video feeds”) of a plurality of athletic contests (e.g.,football or baseball games). The content is segmented into “videoclips,” which may include short periods of play within the game. In thecontext of an example related to fantasy football, a video clip may showone play or down, several plays (e.g., a goal line stand by thedefense), or other segment of a game. In the context of baseball, thevideo clip may show one pitch and any resulting play (base running) orone “up” by a batter. In the context of car racing, the video clip mayshow a lead change, a pit stop, or other action.

Each video clip may be annotated or scored by assigning “fantasy” pointsto one or more athletes (e.g., the quarterback) or groups of athletes(e.g., the defense) within the clip. The annotation process may or maynot involve attachment of metadata to the video clip. The fantasy pointinformation may be associated with the clip (e.g., by a database) orattached to the clip.

The annotation process may involve assignment of different fantasy pointvalues to the performance of athletes based on factors including: aprovider of the fantasy sports host or website used by the user'sleague; particular point characteristics of the user's leagues (e.g., asset by the league's commissioner), or other factors. Thus, the fantasypoints assigned to any particular athlete for any particular play mayvary among different users in different leagues, using different fantasysports website hosts, etc.

The assignment of fantasy points may be performed in a manual orautomated manner. In an example of manual assignment of fantasy points,a reviewer watches the clip, and assigns fantasy points based on theobservation. The result may be both subjective and objective,particularly if the exact yardages of a gain are not immediately known.

Alternatively, fantasy points for one or more video clips may beobtained from different fantasy sport/league/team hosts—such as Yahoo!Sports, etc.—in an automated manner. Thus, the exact number of fantasypoints that each league (based on that leagues rules, etc.), and/or eachfantasy sports host, assigns to an athlete in a particular clip may beobtained (scraped) from servers of that league. Accordingly, a slightlydifferent number of fantasy points may be attached to an athlete'sperformance depending on the fantasy sports host, the fantasy league,and other factors. Such points may be obtained from a fantasy sportsuser's account, e.g., by use of the user's login and password, throughan account of a fellow league member of the user, or by other means.

Appropriate video clips (particularly those in which one or moreathletes was assigned a fantasy point) may be sent (i.e., “pushed”) byservers (e.g., the interleaver) to appropriate clients (i.e., the clientdevices of users). In some examples, each clip is sent to the devices ofthose users having an interest in one or more of the athletes depictedin the clip. The user's interest may be that an athlete depicted in theclip may be on a roster of fantasy team(s) of the user, the athlete may(even if not on the user's fantasy team) be a favorite of the user, theathlete may be on an opponent's fantasy team or on the fantasy teamwithin the user's league. The athlete may play for a real-life favoriteteam of the user. The athlete may have performed a favorite play (e.g.,touchdown or homerun) of the user. The servers may also send video clipsto clients according to other reasons, such as required by settings orrules which may have been established by the server or client.

Depending on time available at the client to play the video clips, whichare pushed or sent by the server, the client may require either shorteror longer versions of the clips, or follow-up information related to oneor more clips. For example, if the client is currently scoring manyfantasy points and currently receiving many video clips, shorterversions of the video clips (perhaps lacking commentator or announcerdiscussion) may be sent. However, if the client is currently scoringfewer fantasy points, and receiving fewer video clips than the clienthas time to play, longer video clips may be sent. Such longer clips mayinclude more instant replays (perhaps in slow motion), color commentatorannotations (or more such additions), longer coverage of the extra pointafter a touchdown, etc.

Overview of an Example Multiple League Mode

Many users may be in two or more fantasy leagues (in one or moresports). Thus, they have an interest in many athletes. Because they havemultiple fantasy teams, the video clips to be pushed may be based onmore than one roster. This may result in the need to prioritize plays,and perhaps even abbreviate some clips to make room for the overallresult. In some examples, a “full” and a “short” version of each clipmay be available, and short clips may be requested and/or received ifthe buffer is overly full. The user interface (UI) may allow users withmultiple fantasy teams to realize which team is affected by fantasypoints associated with each video clip presented. Moreover, the UI maytell the user information about how each video clip effects one or moreof the user's teams. In some examples, the client may run two or moredifferent UIs and swaps between them. Each user interface may have itsown buffer, or a single buffer may be shared.

Many users may be in two or more fantasy leagues (in one or moresports). Thus, they have an interest in many athletes. Because they havemultiple fantasy teams, the video clips to be pushed may be based onmore than one roster. This may result in the need to prioritize plays,and perhaps even abbreviate some clips to make room for the overallresult. The user interface (UI) may allow users with multiple fantasyteams to realize which team is affected by fantasy points associatedwith each video clip presented. Moreover, the UI may tell the userinformation about how each video clip effects one or more of the user'steams. In some examples, the client may run two or more different Ulsand swaps between them. Each user interface may have its own buffer, ora single buffer may be shared.

An example method, comprising: under control of one or more processorsconfigured with executable instructions: creating video clips fromcontent; associating fantasy point information with the video clips asindicated by events in each video clip; examining information describinga client to determine fantasy point interest of the client, wherein theinformation indicates that the client has fantasy teams in two or morefantasy leagues; and transmitting the video clips to the client based atleast in part on the examining.

The method of any preceding example, additionally comprising: examininga buffer operational on the client; wherein the transmitting of thevideo clips comprises transmitting different versions of a video clipassociated with a same fantasy point event depending on buffer fullnessof the client.

Overview of an Example Subscriber Profiles

Subscribe profiles may be created for one or more subscribers to aninterleaver service. The subscriber profiles may identify one or moretopics of interest to a user. At least some of the topics of interestmay be determined based at least in part on a fantasy sports account ofthe user. The subscriber profile also includes one or more explicitand/or implicit user preferences.

An example method comprising: under control of one or more processorsconfigured with executable instructions: receiving a request to generatea subscriber profile for a user; accessing a fantasy sports account ofthe user; obtaining fantasy sports information from the fantasy sportsaccount of the user; and generating a subscriber profile for the userbased at least in part on the fantasy sports information obtained fromthe fantasy sports account of the user.

The method of any preceding, wherein the information about the fantasysports account of the user comprises a roster of athletes on one or morefantasy sports teams associated with the fantasy sports account of theuser.

The method of any preceding example, wherein accessing the fantasysports account comprises: receiving a login credential for the fantasysports account of the user; and logging in to the fantasy sports accountof the user.

The method of any preceding example, wherein accessing the fantasysports account of the user comprises calling an API of an entityadministering the fantasy sports account of the user.

The method of any preceding example, wherein generating the subscriberprofile comprises defining subscriptions to one or more topicsassociated with the fantasy sports account.

The method of any preceding example, wherein the one or more topicscomprise one or more athletes on a fantasy sports team associated withthe fantasy sports account of the user.

The method of any preceding example, wherein the one or more topicsfurther comprise at least one of: one or more athletes on a fantasysports team of a current opponent of the user; or one or more athleteson a fantasy sports team of another user in a fantasy sports league ofthe user.

The method of any preceding example, further comprising: determining acontent segment that is applicable to the subscriber profile; andcausing the content segment to be served to a client device associatedwith the subscriber profile.

The method of any preceding example, further comprising: determiningthat the subscriber profile is entitled to fantasy points for an eventdepicted in the content segment; and causing a notification to be servedto the client device indicating that the subscriber profile is entitledto fantasy points for the event depicted in the content segment.

An example system comprising: one or more processors; and memorycommunicatively coupled to the one or more processors and storingexecutable instructions that, when executed by the one or moreprocessors, configure the one or more processors to perform anypreceding method.

An example method comprising: under control of one or more processorsconfigured with executable instructions: receiving information about afantasy sports account of a user; and generating a subscriber profilefor the user based at least in part on the fantasy sports account of theuser, the subscriber profile defining subscriptions to one or moretopics associated with the fantasy sports account.

The method of any preceding example, wherein the information about thefantasy sports account of the user comprises a roster of athletes on oneor more fantasy sports teams associated with the fantasy sports accountof the user.

The method of any preceding example, wherein the information about thefantasy sports account comprises a login credential usable to access thefantasy sports account of the user, and the method further comprisingaccessing the fantasy sports account.

The method of any preceding example, further comprising calling anapplication programming interface (API) of an entity administering thefantasy sports account of the user, wherein the information about thefantasy sports account of the user is received responsive to the callingof the API.

The method of any preceding example, wherein the one or more topicscomprise one or more athletes on a fantasy sports team associated withthe fantasy sports account of the user.

The method of any preceding example, wherein the one or more topicsfurther comprise at least one of: one or more athletes on a fantasysports team of a current opponent of the user; or one or more athleteson a fantasy sports team of another user in a fantasy sports league ofthe user.

The method of any preceding example, further comprising storing thesubscriber profile in a subscription store.

The method of any preceding example, further comprising: determining acontent segment that is applicable to one or more topics to which to thesubscriber profile includes a subscription; and causing the contentsegment to be served to a client device associated with the subscriberprofile.

The method of any preceding example, further comprising: determiningthat the subscriber profile is entitled to fantasy points for an eventdepicted in the content segment; and causing a notification to be servedto the client device indicating that the subscriber profile is entitledto fantasy points for the event depicted in the content segment.

An example system comprising: one or more processors; and memorycommunicatively coupled to the one or more processors and storingexecutable instructions that, when executed by the one or moreprocessors, configure the one or more processors to perform the methodof any preceding example.

Overview of an Example Scraping

Scraping is a process by which information associated with each of aplurality of “owners” of fantasy sports teams (e.g., the users offantasy sports computer program applications) may be obtained fromservers operated by Fantasy Sports Providers. The information mayinclude the roster of athletes on the user's team, as well as whichathletes are fielded and which are benched. The information may alsoinclude the names of other teams in the user's fantasy league, andathletes on those team(s). The information may additionally oralternatively include fantasy point information which may be scraped insubstantially real-time or at periodic intervals while underlyingsporting events are actually being played, broadcast, or otherin-progress. In some examples, a user may be in a fantasy sports leaguethat is hosted by a website, such as Yahoo. The user may have a fantasysports application on the user's computer, tablet and/or smart phone,etc. Because the user's fantasy sports team(s) is hosted by the website,the website tracks and/or records, etc., the athletes on the user'sfantasy sports team, and which athletes are on the field and which areon the bench, points scored or attributable to athletes, etc. Similarly,the website also tracks the athletes on fantasy sports teams in theleague of the user, and which may be the user's opponent(s). Thus, thescraping process obtains information associated with the user's teamand/or other teams in the user's league from the Fantasy SportsProvider. The scraped information may be used to build a database ofuser profiles, to use such a database to determine which video clipsshould be sent to the user and/or to other users in the user's fantasyleague. The scraped information may additionally or alternatively beused to determine fantasy points to which the user is entitled and/orfantasy points attributable to a particular clip.

In an embodiment, the fantasy sport data associated with a plurality ofusers may be obtained from their respective servers (i.e., fantasysports providers of the users). In a specific example, fantasy sportdata may be obtained from a plurality users of Yahoo by accessing Yahooservers.

An example method of configuring fantasy sport data comprises: undercontrol of one or more processors configured with executableinstructions: accessing at least one server; obtaining information abouta fantasy sports team of each of a plurality of users from the server;and building a database using the obtained information; and using thedatabase to determine to which of each of the plurality of users to sendparticular video clips.

The method of any preceding example, wherein accessing the at least oneserver comprises: logging into an account of the user; wherein theaccount allows management of a fantasy sports team of the user.

The method of any preceding example, wherein: accessing the servercomprises logging into an account of the user; and obtaining informationcomprises obtaining a roster of athletes of the fantasy sports team ofthe user.

The method of any preceding example, wherein obtaining informationcomprises obtaining a list of at least some athletes on a fantasy teamof the user.

The method of any preceding example, wherein obtaining informationcomprises obtaining fantasy sports information about a fantasy sportsleague including the fantasy sports team of the user.

The method of any preceding example, wherein using the databasecomprises: selecting video clips from among a plurality of video clipsbased at least in part on the obtained information; and sending theselected video clips to the user.

The method of any preceding example, wherein using the databasecomprises: selecting video clips from among a plurality of video clipsfor an individual user from among the plurality of users; wherein theselecting is based at least in part on correlation between a fantasysports team of the individual user and athletes depicted in the selectedvideo clips.

In an embodiment, the fantasy sports data of a plurality of users may beobtained from one or more servers. The servers may be configured byfantasy sports providers such as Yahoo, ESPN or others. A scraper may beconfigured to access one or more servers and “scrape,” read or otherwiseaccess or obtain fantasy sports data associated with each of a pluralityof fantasy sports providers. A database may be constructed and/ormaintained using at least some of the information obtained. Aninterleaver may be configured to send video segments to users based atleast in part on information in the database. Thus, the interleaver isconfigured to use the database as a tool to determine to which of aplurality of users particular video clips should be sent.

An example system, comprising: a scraper, configured to access one ormore servers and to obtain fantasy sports information about a pluralityof users; a database, configured to include the fantasy sportsinformation about the plurality of users; and an interleaver, configuredto associate video segments with users based at least in part on fantasysports information in the database.

In an example embodiment, the scraper may be configured to log intoaccounts of each of the plurality of users and obtain fantasy teamroster information. The roster information may indicate fieldedathletes, benched athletes and information regarding an opponent of eachuser's team.

The system of any preceding example, wherein the scraper is additionallyconfigured to: log into accounts of each of the plurality of users; andobtain fantasy team roster information from each of the accounts loggedinto.

In an example embodiment, the scraper may utilize an applicationsprogramming interface (API) that is configured for accessing a server(e.g., Yahoo! or other fantasy sports provider). The API may beconfigured to return fantasy team roster information for each of aplurality of users. The fantasy team roster information may indicatefielded athletes, benched athletes, athletes on a team in opposition toa user, etc.

The system of any preceding example, wherein the scraper is additionallyconfigured to: utilize an applications programming interface (API) toaccess one or more of the plurality of servers; and obtain fantasy teamroster information for each of the plurality of users.

In an example embodiment, the scraper may obtain publicly displayedrecords of each of a plurality of users. That is, a log-in is notrequired for the scraper to obtain the information. The publiclydisplayed information may be read, and the associated records may beused to build a profile or database of user information.

The system of any preceding example, wherein the scraper is additionallyconfigured to: obtain publicly displayed information on each of aplurality of users from one or more servers; wherein the database isadditionally configured include the publicly displayed information.

In an example embodiment, the scraper may scrape a server of a fantasysports provider for fantasy sports information related to a user, suchas prior to sending video segments to the user. Using that fantasysports information, the interleaver may associated video segments withthe user. The video segments may show or depict athletes indicated bythe fantasy sports information of the user.

The system of any preceding example, wherein the scraper is additionallyconfigured to: access a server associated with a user prior totransmission of video segments to the user; wherein video segmentstransmitted to the user show athletes indicated by the fantasy sportsinformation.

In an example embodiment, the database may include information thatconstitutes a profile for each of a plurality of fantasy sports users.The profile may include fantasy sports information, including teammembers on a fantasy team of each user.

The system of any preceding example, wherein the database comprises: aprofile for each of the plurality of users; wherein the profile for oneor more of the plurality of users includes the fantasy sportsinformation, and wherein the fantasy sports information includes teammembers associated with each user.

Known systems derive fantasy sports information, such as rosterinformation regarding specific fantasy teams, from the users who loginto the known systems and manage those fantasy teams. This requires aninstall base of users and presentation of user interfaces to each user.In an embodiment, at least one server is accessed. Fantasy sportsinformation is obtained from each of the one or more servers. A databaseof user profile may be built. Each user profile may contain at leastsome of the fantasy sports information.

One or more computer-readable media storing computer-executableinstructions that, when executed, cause one or more processors toperform example acts comprising: obtaining fantasy sports informationfrom each of a plurality of servers; and building a database comprisinga plurality of user profiles, each user profile containing at least someof the fantasy sports information; wherein at least some of the userprofiles comprise fantasy team roster information and scheduleinformation regarding fantasy games.

In an example embodiment, obtaining fantasy sports information involvesreading information from a fantasy sports server regarding one or moreof: a fantasy sports team; a fantasy sports league that includes thefantasy sports team; and/or a fantasy sports roster of the fantasysports team.

The one or more computer-readable media of any preceding example,wherein obtaining fantasy sports information comprises: obtaining, foreach of a plurality of users, information regarding a fantasy sportsteam, a fantasy sports league that includes the fantasy sports team anda fantasy sports roster of the fantasy sports team.

In an example embodiment, a user interface (UI) is presented to a user.In a specific example, the UI may present a user interface providingfantasy sports information to a user with whom the fantasy sportsinformation is associated.

The one or more computer-readable media of any preceding example,additionally comprising instructions for: presenting a user interfaceproviding fantasy sports information to a user with whom the fantasysports information is associated.

In an example embodiment, a UI is presented to a user that displaysvideo segments according to fantasy sports information associated withthe user.

The one or more computer-readable media of any preceding example,additionally comprising instructions for: presenting a user interfaceproviding video segments according to fantasy sports informationassociated with the user.

In an example embodiment, the database is built by entering informationassociated with each user, including one or more of: a fantasy team ofthe user; a fantasy team of an opponent of the user; a fantasy league ofthe user; a favorite team of the user; favorite athlete(s) of the user;favorite plays (e.g., touchdowns, homeruns or NASCAR wrecks); and/orgames and/or teams on which the user has wagered.

The one or more computer-readable media of any preceding example,wherein information in one or more user profile comprises: a fantasyteam of the user; a fantasy team of an opponent of the user; a fantasyleague of the user; a favorite team of the user; a favorite athlete ofthe user; a favorite play of the user; and a game on which the user haswagered.

In an example embodiment, a UI may be provided to the user to allow theuser to contribute information to the database. For example, the usermay indicate a favorite team of the user; a favorite athlete of theuser; a favorite play of the user; and/or a game on which the user haswagered.

The one or more computer-readable media of any preceding example,additionally comprising instructions implementing a UI to gatherinformation comprising: a favorite team of the user; a favorite athleteof the user; a favorite play of the user; and a game on which the userhas wagered.

In an example embodiment, fantasy sports information may be obtainedfrom one or more servers when those server(s) open a channel (e.g.,according to a file transfer protocol (FTP)) to intentionally transferdata to be used in building the database. Accordingly, a fantasy sportsprovider having one or more servers may provide data to the database inan efficient manner.

The one or more computer-readable media of any preceding example,wherein obtaining fantasy sports information comprises: opening achannel to a server; and downloading fantasy sports information over thechannel to populate portions of the database.

Scraper Configured to Obtain Data for Fantasy Sports Network. Techniquesfor “scraping” and/or obtaining fantasy sports data from one or moreserver are described herein. In an example implementation, a fantasysports server is accessed. The access may be made by means of accessingpublicly available data, by accessing data for which a user's usernameand/or password are required, and/or accessing data by operation of anapplications programming interface provided by the server(s) or by afile transfer protocol (FTP) provided by the server(s), etc. Upongaining access, fantasy sports information may be obtained for aplurality of users. The fantasy sports information may include fantasyteam roster information, fantasy team game schedule, etc. The fantasysports information may be used to create a profile of each of aplurality of fantasy sports users. The database may be used with aninterleaver or other association machine to determine which of aplurality of video clips of athletes should be sent to each of aplurality of users.

Conclusion

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described. Rather,the specific features and acts are disclosed as exemplary forms ofimplementing the claims.

A module may provide one or more functions, and may be configured insoftware executed by one or more processors (e.g., central processingunits, graphics processing units, etc.), configured in hardware, such asan application specific integrated circuit (ASIC) or field programmablegate array (FPGA), or may be configured in a combination of software andhardware. A module defined in software may be a subroutine or astand-alone application. In a data center or cloud environment, a modulemay be configured using an arbitrary number of servers or otherprocessing devices. A module may be an arbitrary grouping of techniquesand/or functionality, based on particular design goals or resourceavailability.

While various modules, services, devices, managers, etc., have beendiscussed, it should be realized that these examples are representativeof more general techniques. Accordingly, the techniques and conceptsdiscussed herein could be performed by other functional blocks in amanner that group functions and techniques differently. Accordingly, thestructures, techniques and methods described herein are intended to berepresentative of a set of functions and may be performed using more,less or different modules, managers, methods, etc.

Additionally, a number of related topics are described herein. Thesetopics may be performed individually, or grouped with others, as desiredto achieve particular design goals.

What is claimed is:
 1. A method comprising: under control of one or moreprocessors executing instructions stored in memory, performingoperations comprising: accessing a server storing fantasy sportsinformation; obtaining information about a fantasy sports team of eachof a plurality of users from the server; and building a database usingthe obtained information; and using the database to determine to whichof each of the plurality of users to send particular video clips.
 2. Themethod of claim 1, wherein: accessing the server comprises logging intoan account of the user; and obtaining information comprises obtaining aroster of athletes of the fantasy sports team of the user.
 3. The methodof claim 1, wherein obtaining information comprises obtaining fantasysports information about a fantasy sports league including the fantasysports team of the user.
 4. The method of claim 1, wherein using thedatabase comprises: selecting a video clip from among a plurality ofvideo clips based at least in part on the obtained information; andsending the selected video clip to a computing device of the user. 5.The method of claim 1, wherein using the database comprises: selecting avideo clip from among a plurality of video clips for an individual userfrom among the plurality of users; wherein the selecting is based atleast in part on correlation between a fantasy sports team of theindividual user and athletes depicted in the selected video clips. 6.The method of claim 1, wherein the server is a first server and isoperated by a first entity that operates a first fantasy sportsplatform; the method further comprising: accessing a second serverstoring fantasy sports information, the second server being operated bya second entity different than the first entity and providing a secondfantasy sports platform; obtaining information about a fantasy sportsteam of each of a second plurality of users from the second server; andadding the information obtained from the second server to the database;and using the database to determine to which of each of the secondplurality of users to send particular video clips.
 7. A system,comprising: one or more processors; and memory communicatively coupledto the one or more processors, the memory storing instructions that,when executed by the one or more processors to perform operationscomprising: accessing one or more servers to obtain fantasy sportsinformation about one or more users; populating a database with thefantasy sports information about the one or more users; and associatingone or more video segments with the one or more users based at least inpart on fantasy sports information in the database.
 8. The system ofclaim7, wherein the accessing comprises: logging into an account of eachof the one or more users; and obtaining fantasy team roster informationfrom the account of each of the one or more users.
 9. The system ofclaim 7, wherein the accessing comprises: calling an applicationprogramming interface (API) to access the one or more servers; andreceiving, at least partly in response calling the API, fantasy teamroster information for each of the one or more users.
 10. The system ofclaim 7, wherein the fantasy sports information about the one or moreusers comprises publicly available fantasy sports information which isavailable without login credentials.
 11. The system of claim 7, furthercomprising transmitting the one or more video segments associated withthe one or more users to respective computing devices of the one or moreusers.
 12. The system of claim 7, wherein the video segments associatedwith each of the one or more users depict athletes indicated by thefantasy sports information of the respective one or more users.
 13. Thesystem of claim 7, wherein the database comprises: a profile for each ofthe one or more users; wherein the profile includes the fantasy sportsinformation of a respective user of the one or more users, and whereinthe fantasy sports information of the respective user includes athleteson a fantasy roster of the respective user.
 14. The system of claim 7,wherein: the accessing the one or more servers to obtain fantasy sportsinformation about one or more users comprises: accessing at least oneserver of a first entity having first fantasy sports information of theuser, and accessing at least one server of a second entity differentthan the first entity, the second sever having second fantasy sportsinformation of the user that is different than the first fantasy sportsinformation of the user.
 15. The system of claim 14, wherein thetransmitting the one or more video segments associated with the one ormore users to respective computing devices of the one or more userscomprises: transmitting a first video clip to a computing device of aparticular user of the one or more users based on the first fantasysports information from the at least one server of the first entity; andtransmitting a second video clip to the computing device of theparticular user of the one or more users based on the second fantasysports information from the at least one server of the second entity.16. One or more computer-readable media storing computer-executableinstructions that, when executed by one or more processors of acomputing device of a first entity, cause the computing device of thefirst entity to perform operations comprising: obtaining, from acomputing device of a second entity different than the first entity,fantasy sports information about a user; and building a databasecomprising a user profile of the user, the user profile containing atleast some of the fantasy sports information obtained from the computingdevice of the second entity; wherein the user profile includes anidentification of athletes on one or more fantasy teams of the user. 17.The one or more computer-readable media of claim 16, the operationsfurther comprising: associating one or more video clips with the userprofile of the user based at least in part on the identification of theathletes on the one or more fantasy teams of the user; and causingtransmission of the one or more video clips to a computing device of theuser.
 18. The one or more computer-readable media of claim 16, furthercomprising populating the database with fantasy sports information aboutthe user from the first entity.
 19. The one or more computer-readablemedia of claim 16, further comprising: obtaining, from a computingdevice of a third entity different than the first entity and the secondentity, fantasy sports information about the user; and populating thedatabase with the fantasy sports information about the user from thethird entity.
 20. The one or more computer-readable media of claim 16,further comprising outputting a user interface (UI) for presentation bya computing device of the user, the UI comprising: an interface forpresenting at least some of the fantasy sports information obtained fromthe computing device of the second entity; and one or more video clipsassociated with the fantasy sports information obtained from thecomputing device of the second entity.